zarus
Хитрожопый макак
Работа с файлами в PHP. Отвал скрипта на Apache.
На одном из файлов этот скрипт "отваливается", а в браузер возвращается ошибка "Сервер не найден". Причем никаких ошибок в логах Апача и ПХП не наблюдается. В чем может быть беда?
Скрипт рабочий - на файле размером 250 Мб он "нормально" работает. А вот на другом файле - размером 500+ Мб "умирает".
Помогите! Есть ли другие варианты заставить этот скрипт работать? И приму полезные ссылки почитать по теме (ПОИСК не помог) и варианты ускорить работу скрипта.
У меня подозрения, что проблема в настройках Апача - но в этом деле я "ламер".
з.ы. Замечания типа "У тебя ошибка в коде ДНК" можете оставить себе
PHP:
$str = '';
$buf = '';
$file = fopen($src_f,'rb');
while (!feof($file)) {
$str_read = fread($file,10485760);
$str .= str_replace(array("\t","\r\n"),array(";","|"),trim($str_read));
$tbl = explode('</table>',$str);
$str = array_pop($tbl);
if (is_array($tbl)) {
foreach ($tbl as $var) {
if (preg_match_all('/<td>([0-9]+?)=((?:.(?!<td>))*.)/si',strval($var),$m,PREG_SET_ORDER)) {
$f = array_fill(0,$max,'');
foreach ($m as $v) {
$ind = intval($v[1]);
if ($ind > $max) {
continue;
}
$f[$ind] = strip_tags($v[2]);
}
$buf .= implode("\t",$f)."\r\n";
$ct++;
if ($ct%1000 == 0) {
echo '<script>document.control.cnt.value = '.$ct.';</script>';
}
}
}
}
echo '<script>document.control.cnt.value = '.$ct.';</script>';
if (strlen($buf) > 10485760) {
fwrite($fo,$buf);
$buf = '';
}
}
Скрипт рабочий - на файле размером 250 Мб он "нормально" работает. А вот на другом файле - размером 500+ Мб "умирает".
Помогите! Есть ли другие варианты заставить этот скрипт работать? И приму полезные ссылки почитать по теме (ПОИСК не помог) и варианты ускорить работу скрипта.
У меня подозрения, что проблема в настройках Апача - но в этом деле я "ламер".
з.ы. Замечания типа "У тебя ошибка в коде ДНК" можете оставить себе

