Я пытаюсь записать в некоторые текстовые файлы, используя метод fwrite SplFileObject и получаю сообщение об ошибке ниже.
Неустранимая ошибка: максимальное время выполнения 30 секунд превышено в
/Users/oliverwilliams/Desktop/olliephp/directory.php в строке 9.
Строка 9 while (!$textfile->eof()) {
из следующего кода
$dir = new FilesystemIterator('garbagedirectory');
foreach ($dir as $file) {
if ($file->getExtension() === 'txt') {
$textfile = $file -> openFile('r+');
while (!$textfile->eof()) {
$textfile -> next();
}
$textfile->fwrite("This line was added dynamically");
}
}
Я новичок в PHP. Как избавиться от этой ошибки?
Это код, который я подражал из курса Дэвида Пауэрса Линды. Его код работает.
$docs = new FilesystemIterator('garbagedirectory');
foreach ($docs as $doc) {
if ($doc->getExtension() == 'txt') {
$textfile = $doc->openFile('r+');
$textfile->setFlags(SplFileObject::SKIP_EMPTY | SplFileObject::READ_AHEAD
| SplFileObject::DROP_NEW_LINE);
echo '<h2>' . $textfile->getFilename() . '</h2>';
foreach ($textfile as $line) {
echo "$line<br>";
}
$textfile->seek(3);
echo '<br>';
echo 'This is the fourth line: ' . $textfile->current();
while(!$textfile->eof()) {
$textfile->next();
}
$textfile->fwrite("\r\n\r\nThis line was added dynamically");
}
}
Задача ещё не решена.
Других решений пока нет …