От автора: сегодня разберемся, как происходит в PHP чтение из файла. Начнем с легких скриптов и закончим реализацией более сложных. Стартуем!
Полегче
Начнем с рассмотрения функции file_get_contents(). Она «запихивает» содержимое файла в один ряд. Вот так:
1 2 3 4 | <?php $content=file_get_contents('1.txt'); echo $content; ?> |

Бесплатный курс по PHP программированию
Освойте курс и узнайте, как создать веб-приложение на PHP с полного нуля
Получить курс сейчас!Теперь постараемся реализовать построчное извлечение информации, а не «гурьбой». Для этого применим file(). Данная функция возвращает array строк. Ну, а с массивами (я надеюсь) мы разберемся:
1 2 3 4 | <?php $content=file('1.txt'); print_r ($content); ?> |
Что-то построчно «вынуть» контент пока не получается. А мы сейчас «ударим» по массиву циклом foreach и array разобьется на нужные «осколки».
1 2 3 4 5 6 7 | <?php $content=file('1.txt'); foreach($content as $str1) { echo $str1."<br />"; } ?> |
Так смотрится намного изящнее.
Посложнее
Начинаем потихоньку «окунаться». Тут главное не начать «зарываться», а то можно застрять надолго. В предыдущих примерах мы только то и делали, что извлекали, извлекали и еще раз извлекали. А если работать с записью нужно? Вооружаемся примером:
1 2 3 4 5 6 7 8 9 10 11 | <?php $content='1.txt'; $next_str = file_get_contents($content); $next_str.= "четвертая строка"; file_put_contents($content, $next_str); foreach(file($content,FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES)as $str1) { echo $str1."<br />"; } ?> |
Обратите внимание, что мы не только впихнули текст, но и вывели его из файла 1.txt.Также для того, чтобы строка нормально выводилась, я использовал дополнительные флаги. Но они работают только при чтении одной строки. Дальше все опять начнет лепиться в один ряд. Для решения этой проблемы нужно применять функции из семейства fopen(), переставлять курсор и т.д. Все мы уже проходили. Так что сами .
Что касается извлечения данных из exel форматов, то тут придется воспользоваться сторонней библиотекой. Но это уже из другого фильма!

Бесплатный курс по PHP программированию
Освойте курс и узнайте, как создать веб-приложение на PHP с полного нуля
Получить курс сейчас!
Разработка веб-приложения на PHP
Скачайте видеокурс и узнайте, как создать веб-приложение на PHP
Скачать
Функция file читает файл и помещает его содержимое в массив, тем самым расходуя память на содержание массива. Если файл будет «большим» или «огромным» может просто не хватить памяти для обработки файла. Для перебора «больших» файлов лучше всего использовать генераторы. Пример кода ниже:
function getLines($file) {
$f = fopen($file, ‘r’);
try {
while ($line = fgets($f)) {
yield $line;
}
} finally {
fclose($f);
}
}
foreach (getLines(«file.txt») as $n => $line) {
echo $line . »;
}