我在php中創建了一個上傳腳本,它接受一個文件,調整其大小,並創建一個剪裁的方形縮略圖。腳本本身似乎工作正常。Firefox上傳表單問題
然而,當我試圖通過Firefox來上傳圖片,在點擊提交按鈕,瀏覽器顯示加載動畫,但它永遠不會調用腳本,它只是停留在當前頁上。如果不上傳圖片,則可以找到並運行該腳本。
我試着在Safari和我沒有得到同樣的問題,我可以從形式上傳一張圖片,它會對其進行處理,並採取了我正確的頁面。
我已經厭倦了從窗體調用一個基本腳本,它只是打印出$ _POST和$ _FILES,並且我得到了相同的結果,如果圖像存在,它不會到達腳本,如果沒有圖像,它運行良好。
我只是想知道如果任何人有任何想法,這是怎麼回事?
=更新=
好了,我還有這個問題,我似乎想我已經找到了什麼導致它的話,但後來我找到的東西,完全違背了它。
目前,我注意到我可以在清除Firefox緩存後成功上傳,但我只能上傳一張圖片,然後當我嘗試上傳另一張圖片時,我無法重置連接在「加載...」之後。
另外,我注意到,我可以按Ctrl + F5幾次,打通另一個上載。
雖然這種情況有解決辦法,我不希望有需要的用戶可以清除cookie或刷新每次他們需要上傳時間的一種形式。正如我之前提到的,IE/Opera/Safari/Chrome中不會出現此錯誤。
這似乎是Firefox是存儲的東西,我不知道是什麼。 任何幫助將不勝感激。
如果它有幫助,這裏是我正在使用的代碼。
HTML表單
<form enctype="multipart/form-data" action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="POST">
<label for="file">Choose a file to upload</label>
<input id="file" name="file" type="file" /><br />
<input type="submit" value="Upload File" name="submit" />
而且PHP:
if (isset($_POST['submit'])) {
echo "Processing...<br/>";
if (isset($_FILES['file']['name'])) {
$file_array = $_FILES['file'];
echo "Uploading...";
upload File($file_array);
echo "...Done";
}
}
的回聲,是給我看看是怎麼回事。如果他們中沒有一個真的被輸出。所以出於某種原因表單沒有被提交。這就是爲什麼它沒有得到腳本。但我不知道爲什麼。我沒有CSS或JavaScript錯誤。
== ==更新
好吧,我正在努力做更多的事情,仍然沒有運氣的HTML,CSS和JavaScript都是有效的。我已經完成了IIS重置,我重新創建了我的Firefox配置文件。現在仍然是運氣。
我再次測試它,這次我在加載過程中(在連接重置之前)停止它,然後嘗試去網站的不同頁面,並且凍結繼續,它仍然會說「加載...」和「等待本地主機...」。我真的不知道該怎麼做,我有一些設置嗎?但那爲什麼不影響其他瀏覽器?
== ==更新
正如我下面提到的,似乎AVG的LinkScanner /主動衝浪盾似乎導致此問題,並有與它有類似問題的其他許多報告。我從AVG Free v9.0.733更新到v9.0.790,而我仍然遇到同樣的問題。我打算瀏覽AVG支持論壇,也許會在那裏發佈一些內容,因爲它似乎是一個AVG問題。
如果有人確實有任何更深入的瞭解,請發表以下。它的大加讚賞:)
如果您希望我們查看它,請發佈腳本。 – 2010-02-27 15:38:11
就是這樣,它甚至沒有把腳本叫做句號。即使我設置表單將數據發送到像上面提到的簡單腳本,它也不會。 – cast01 2010-02-27 15:43:27
按CTRL + SHIFT + J打開Firefox控制檯並檢查是否有錯誤信息? – EricLaw 2010-02-27 15:53:15