Прочитать содержимое файла с помощью Laravel

Я пытаюсь прочитать содержимое строки строки за строкой с помощью Laravel. Тем не менее, я ничего не могу найти об этом.

Должен ли я использовать функцию fopen или могу ли я сделать это с помощью функции File:: get()?

Я проверил API, но, похоже, нет функции для чтения содержимого файла.

Ответ 1

Нельзя ли использовать простой PHP?

foreach(file('yourfile.txt') as $line) {
    // loop with $line for each line of yourfile.txt
}

Ответ 2

Для получения содержимого вы можете использовать следующее:

$content = File::get($filename);

Что вернет a Illuminate\Filesystem\FileNotFoundException, если он не найден. Если вы хотите извлечь что-то удаленное, вы можете использовать:

$content = File::getRemote($url);

Будет возвращен false, если он не найден.

Когда у вас есть файл, вам не нужны специальные методы обработки данных для laravel. Теперь вам нужно работать с содержанием в php. Если вы не хотите читать строки, вы можете сделать это, как описано в @kylek:

 foreach($content as $line) {
    //use $line 
}

Ответ 3

Вы можете использовать

try
{
    $contents = File::get($filename);
}
catch (Illuminate\Contracts\Filesystem\FileNotFoundException $exception)
{
    die("The file doesn't exist");
}