Как прочитать файл
Короткий ответ
file_get_contents() возвращает содержимое одной строкой:
<?php
$file = sys_get_temp_dir() . '/recipe-read.txt';
file_put_contents($file, "first\nsecond\n");
echo file_get_contents($file);Результат:
first
secondМассив строк
file() с флагом FILE_IGNORE_NEW_LINES возвращает строки без переводов:
<?php
$file = sys_get_temp_dir() . '/recipe-read.txt';
file_put_contents($file, "first\nsecond\n");
echo implode(' | ', file($file, FILE_IGNORE_NEW_LINES));Результат:
first | secondБольшой файл
Читайте по одной строке, чтобы не держать весь файл в памяти:
<?php
$file = sys_get_temp_dir() . '/recipe-read.txt';
file_put_contents($file, "first\nsecond\n");
$handle = fopen($file, 'r');
$count = 0;
while (fgets($handle) !== false) {
$count++;
}
fclose($handle);
echo $count;Результат:
2Функции из этого ответа
- file_get_contents — Читает файл целиком в строку.
- file — Читает файл в массив строк.
- fopen — Открывает файл для чтения или записи по частям.