Прежде всего, я предполагаю, что «фатальная ошибка: превышено максимальное время выполнения» в PHP является ошибкой на стороне сервера и не должна зависеть от версии браузера, верно?Но, похоже, это так!?!
У меня есть этот код для чтения данных CSV, поступающих из текстовой области в форме.
$handle = tmpfile();
fwrite($handle, $csvclip);
fseek($handle, 0);
while (!feof($handle)) {
$r = fgetcsv($handle, 1000, $delimiter, '"'); <---- Here it gives Fatal Error
print $r[0];
}
И это данные, ничего особенного, 4 столбца и 3 строки.
a b 1 2
c d 3 4
e f 5 6
Код работает во всех браузерах (IE, Chrome и т. Д.), Я вижу мой анализданные кроме Firefox !!!!!Я тестировал на разных ПК, но одинаково.Все браузеры в порядке, но Firefox выдает «Неустранимая ошибка: Превышено максимальное время выполнения» для строки с «fgetcsv»
Я использую PHP версии 5.2.10 и 2 разных версии Firefox 3.5.16 и 3.6.6
Кто-нибудь сталкивался с этой проблемой раньше?
Редактировать: код тестировался на двух разных Linux-серверах CentOS 5.3 и 5.5 с использованием двух разных ПК со всеми браузерами.
Изменить 2: решено
Хорошо, я нашел проблему.Значение $ delimiter происходит от наличия 3 значений "," ";"и "\ t", в котором браузеры отображают "\ t" как пробелы, и я не обратил на это внимания.
Похоже, firefox что-то делает с \ t, поэтому PHP не понимает, что это вкладка.Но другие браузеры отправляют \ t, как и ожидалось.
Если я жестко закодировал "\ t", например fgetcsv ($ handle, 1000, "\ t", '"'), то отлично работает и с firefox.
Впервые Firefox доставил мне столько хлопот, а не IE:)