2010-04-12 108 views
0

我有一個圖片上傳器,它使用imgur.com API和jQuery的.ajax()函數將圖像上傳到他們的服務器。然而,如果我瀏覽使用形式的<input type="file"/>元件的圖像,它只會是成功的在如果圖像文件是在相同目錄作爲page.php文件形式中發現的發現(如下所示上傳的圖像)。 如何允許表單從我的計算機上的任意目錄上傳圖像?HTML上傳表格只會上傳PHP文件目錄中找到的文件

page.php文件:

<form action="page.php" method="post"> 
    <input type="file" name="doc" id="doc" /><br/> 
    <input type="image" src="go.gif" name="submit" id="submit" /> 
</form> 

回答

0

也許這是寫權限的唯一文件夾。

+0

我在本地使用XAMPP執行此操作,所以我懷疑這會是一個問題。 – vette982 2010-04-12 21:06:52

+0

你能告訴我們 – Adnan 2010-04-12 21:07:37

+0

你要麼不公佈正確的代碼或有什麼問題與您的電腦窗口的screenshoot。該代碼運行良好,事實上,我只是在我的計算機上進行了測試,並且能夠從不同目錄上傳文件。請按照@Adnan建議的方式顯示您的屏幕截圖 – 2010-04-12 21:22:28

0

我想這是jquery做的實際發佈到http://imgur.com/api/upload作爲窗體只是張貼到自己,所以我的猜測是,jquery/JavaScript只能讀取文件在您的網絡空間,而不是在整個硬盤上,駕駛。

2

您已經忘記了form標記上的enctype="multipart/form-data"屬性。沒有這些,文件上傳通常不能很好地工作。

除此之外,服務器不會真正關心你上傳什麼Directory中,尤其是在PHP。上傳的服務器上的副本存儲臨時文件名($_FILES['file']['tmp_name']),這與您的計算機上的目錄/文件名完全無關。

一旦它的服務器上,你必須實際移動該臨時文件其他地方,因爲一旦腳本終止和你沒有自己處理得PHP將會自動將其刪除。 move_uploaded_file()是這個過程通常使用的。

+0

「不要工作得很好」只是輕描淡寫!嘿嘿 – 2010-04-12 23:03:05

+0

婭。它不會全部工作。 – 2010-04-13 03:19:54