2012-05-16 90 views
2

對不起,如果標題聽起來有點模糊。更改mysql更新文件

Stackoverflow在這裏張貼新手。

我有一個地址簿,我正在建設並遇到一些問題。

我希望能夠更新記錄,並且如果在更新表單中沒有設置圖像,可以將圖像記錄在記錄中。如果圖像字段已填充,請使用該圖像更新記錄並將其移至目標位置。

這是if語句我有它:

if (empty($photo)) 
{ 
$photo = $row['photo']; 
} 
else 
{   
$phmsg = "Photo $photo has been deleted and replaced"; 
unlink("".IMAGES."/$photo"); 
$afn = date('dmYHis'); 
$name_of_file = $_FILES['photo']['name']; 
$photo=$afn.$name_of_file; 
$target = "".FILE_UPLOAD."/"; 
$target = $target . basename($photo); 
} 

這是我的錯誤,當我嘗試運行上傳:

警告:move_uploaded_file()以[function.move注意:move_uploaded_file()[function.move-uploaded-file]:無法移動'C:\ xampp \ htdocs \ cab \ update.php文件名不能爲空:\ xampp \ tmp \ phpB232.tmp'到C:\ xampp \ htdocs \ cab \ u pdate.php 165行

文件未上傳。請嘗試手動上傳。

我能看到的唯一的另一種方式是有一個單獨的文件來更新和不更新圖片。

任何幫助將是最受歡迎和非常感謝。

在此先感謝

+1

檢查$ _FILES數組試圖使用它之前填充。 – 2012-05-16 21:57:28

+0

嗨Dagon,文件數組被填充,因爲它應該是和顯示0作爲錯誤值。我查看了在螢幕控制檯中發佈的內容,並顯示數據正在發佈。它不會更新,雖然 – Chris

回答

1

您正在嘗試使用move_uploaded_file()沒有有效的文件作爲參數。

檢查,如果你有一個有效的文件上傳,然後才執行move_uploaded_file()

+0

如果我使用文件來更新記錄並更改圖片,它將在窗體中發佈照片字段的值並更新並移動文件,而不會出現問題。有了if語句,它似乎沒有將照片字段的值存入$ _POST。 – Chris

+1

上傳的文件將在$ _FILES,而不是$ _POST – ilanco

+0

嗨ilanco,我使用$ _POST,所以我可以把引用的圖片在數據庫中,但也使用$ _FILES來移動它。問題是讓文件被識別。似乎看到字段名稱是空的,即使我已經爲它選擇了一張圖片 – Chris

0

試試這個代碼,請

if (empty($photo)) 
{ 
$photo = $row['photo']; 
} 
else 
{   
$phmsg = "Photo $photo has been deleted and replaced"; 
unlink("".IMAGES."//$photo"); 
$afn = date('dmYHis'); 
$name_of_file = $_FILES['photo']['name']; 
$photo=$afn.$name_of_file; 
$target = "".FILE_UPLOAD."//"; 
$target = $target . basename($photo); 
} 
+0

還是一樣的錯誤。它似乎不會得到照片的張貼字段的值:( – Chris