Я пытаюсь открыть файл и определить, действительно ли он. Это действительно, если первая строка - START, а последняя строка - END.
Я видел разные способы получения последней строки файла, но он не обращает особого внимания на первую строку.
Как мне это сделать? Я думал о загрузке содержимого файла в массив и проверке $ array [0] и $ array [x] для START и END. Но это кажется пустой тратой для всего мусора, который может быть посередине.
Если это действительный файл, я буду читать/обрабатывать содержимое файла между START и END.
Не читайте весь файл в массив, если он не нужен. Если файл может быть большим, вы можете сделать это так:
$h = fopen('text.txt', 'r');
$firstLine = fgets($h);
fseek($h, -3, SEEK_END);
$lastThreeChars = fgets($h);
Объем памяти значительно ниже
Это от меня:
$lines = file($pathToFile);
if ($lines[0] == 'START' && end($lines) == 'END') {
// do stuff
}
Чтение всего файла с помощью fgets будет эффективным для маленьких силосов. Файл iF ur большой:
fgets
чтобы прочитать первую строку. для последней строки см. stackoverflow.com/questions/15025875/…