У меня есть следующий файл, который обрабатывает один файл XML и помещает его в базу данных в виде строки.Он отлично работает для отдельных файлов.
Теперь я хотел поместить ВСЕ файлы в каталоге вот так в базу данных и, следовательно, написал сценарий для перехода по каталогу.и нажмите все файлы в нем по одному.И ДА, это сработало, но остановилось после обработки XX (переменного) количества файлов
Я, возможно, что-то не так с моим XML-файлом, поэтому решилпросто поместите ОДИН XML-файл (который был отлично обработан ранее) в каталоге и просто зациклите его, вставляя его сотни раз, чтобы я мог подтвердить, что это проблема с моими файлами.Но угадайте, что случилось?
После обработки XX (переменного) количества файлов обработка останавливается .В моем примере, приведенном ниже, он остановился на 110 (контр-валь), 111, 99 и т. Д. После повторных попыток.Где он должен был обработать 1000 файлов.
<?php
include_once '../includeTop.php';
header ( 'Content-type: text/xml' );
echo "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n";
$dir = "../../newHotelFiles";
$file = NULL;
$fileName = "noFileName";
$processed = 0;
util::writeToLog ( $dir . '/progressData.tmp', "Files processed: $processed" );
try {
echo XMLInterface::openTag ( "start" );
for($counter = 0; $counter < 1000; $counter ++) {
$dirHandle = opendir ( '../../newHotelFiles' );
while ( false !== ($file = readdir ( $dirHandle )) ) {
//process my files codes
$processed ++;
util::writeToLog ( $dir . '/progressData.tmp', "Files processed: $processed" );
}
}
//util::writeToLog($dir.'/progressData.tmp', "Done ".$counter);
}
echo XMLInterface::closeTag ( "start" );
exit ();
} catch ( Exception $e ) {
echo XMLInterface::failure ( "Error occured. Written to the log file - $file.log" );
util::writeToLog ( "../../newHotelFiles/$fileName.log", ExceptionHandler::error_msg ( $e ) );
exit ();
}
?>
В чем проблема?Является ли это сценарий (который я сомневаюсь, как он работает, когда цикл for не существует) или Есть ли какой-либо серверный лимит, я не знаю о