2011-02-18 86 views
0

首先,我猜想PHP中的「致命錯誤:超出最大執行時間」是服務器端錯誤,不應該依賴於瀏覽器版本,對不對?但似乎它!!!PHP fgetcsv遇到致命錯誤:在Firefox上超出最大執行時間

我有這段代碼來讀取來自窗體中文本區域的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瀏覽器,e.t.c),我可以看到,除了Firefox中的解析數據!!!!!我在不同的電腦上測試過,但是一樣所有的瀏覽器都OK,但火狐提供了「致命錯誤:超過最大執行時間」有「fgetcsv」

行我使用PHP版本5.2.10和2個不同版本的Firefox 3.5.16和3.6.6

以前有人見過這個問題嗎?

編輯:代碼在兩個不同的Linux服務器上測試CentOS 5.3和5.5,使用兩臺不同的PC,具有所有瀏覽器。

編輯2:解決

好吧,我發現這個問題。 $分隔符值來自有3個值「,」「;」和「\ t」哪些瀏覽器將「\ t」顯示爲空格,我沒有注意到它。

似乎firefox正在做一些事情,所以PHP不明白它的選項卡。但其他瀏覽器按預期發送\ t。

如果我硬編碼 「\ t」 的像fgetcsv($處理,1000, 「\ t」 的,「 '')也能正常工作與Firefox

第一次火狐給我帶來那麼多的麻煩,而不是IE: )

+1

你爲什麼要讀表單數據? – Zimbabao 2011-02-18 11:21:33

回答

0

好的我發現了這個問題。 $分隔符值來自有3個值「,」「;」和「\ t」哪些瀏覽器將「\ t」顯示爲空格,我沒有注意到它。

似乎firefox正在做一些事情,所以PHP不明白它的選項卡。但其他瀏覽器按預期發送\ t。

如果我硬編碼 「\ t」 的像fgetcsv($處理,1000, 「\ t」 的,「 '')也從一個臨時文件的正常工作與Firefox瀏覽器。

1

以下內容添加到您的腳本的頂部。

set_time_limit(0); 

這應該禁用腳本運行的時間限制

0

不知道這是否是這裏的問題,但看看在To處m的評論從2006年10月24日10:27對feof() page

相關問題