Допустим нам надо загрузить текстовый файл на сервер и прочитать его содержимое. Это не обязательно должен быть TXT это может быть, например CSV данные из которого мы в последствии хотим записать в базу данных.
И так для начала создаем простую HTML форму для загрузки файла на сервер:
<form method="post" action="file.php" enctype="multipart/form-data"> <label for="filename">ФАЙЛ:</label> <input id="filename" type="file" name="filename"> <input class="btn btn-default" type="submit" value="Загрузить" /> </form>
Внимание на enctype="multipart/form-data" – без этого в теге FORM наш файл просто не загрузится
Далее в файле php который будет принимать и обрабатывать файл пишем следующее:
<?php //Читаем полученный файл $res = file_get_contents($_FILES['filename']['tmp_name']); //Разбиваем на массив использую //как разделитель символы переноса строки $lines = explode("\r\n", $res); //В цикле выводим и нумеруем //строки нашего документа foreach ($lines as $key=>$val) { echo "Строка $key:". $val . "<br/>"; }
Мы получили в переменную $lines массив строк которые теперь можно обрабатывать как душе угодно, например если обрабатываете файл CSV с прайсом где в качестве разделителя ячеек используете «;»
Так же можно воспользоваться классом для чтения больших файлов на php