2014-10-04 169 views
1

HTML文件:警告:未能打開流和警告:無法在move_upload_file移動()

<input type="file" name="photo" size="300" accept="image/*" id="photo"/> 

PHP部分:

if (move_uploaded_file ($_FILES['photo'] ['tmp_name'], 
     "C:\xampp\htdocs\ShowYourTalent/{$_FILES['photo'] ['name']}")) 

當我運行這段代碼,我收到以下錯誤:

警告: move_uploaded_file(C:MPP \ htdocs中\ ShowYourTalent/1.gif):未能打開流:無效的參數

警告: move_uploaded_file()以:無法移動 'C:\ XAMPP \ tmp目錄\ phpDE21.tmp' 到 'C:MPP \ htdocs中\ SYT/1.gif'

+0

DISHA你有問題的查詢,如下面我讀您的意見,建議給我你會迴應結果而不提取它。謝謝 – 2014-10-04 10:01:55

回答

0

這是因爲您正在使用雙引號和反斜槓在路徑名中。這使得PHP解釋序列:

"\xa" 

..的xampp開始時,如十六進制表示xA(10十進制)。字符10表示ASCII碼中的換行符,它在Windows路徑名稱中無效。這就是爲什麼你收到警告。

解決方案

使用正斜槓,PHP將它們轉換爲適當的Windows路徑:

if (move_uploaded_file ($_FILES['photo'] ['tmp_name'], 
     "C:/xampp/htdocs/ShowYourTalent/{$_FILES['photo'] ['name']}")) 
+0

這個警告已經解決了。它也顯示數據插入成功..但是,它不顯示在數據庫表中(phpmyadmin)。它顯示以下消息:文件已成功上傳 數據庫找到資源ID#3 數據插入成功 – Disha 2014-10-04 09:25:24

+0

您需要爲該問題創建一個單獨的問題。因爲它與上傳無關,但與數據庫代碼無關。 – hek2mgl 2014-10-04 09:52:21

相關問題