2013-05-31 26 views
2

我在本地工作在本地主機上,並且該網站是D/xampp/htdocs/websites/site.com 我也在使用這行代碼來將.php擴展名更改爲/ (fowardslash)。爲什麼我的move_uploaded_file()不能正常工作

來自位於site.com/admin/addevent/的頁面,我正嘗試將上傳的圖像移至site.com/images/uploads。我使用的MySQLi和我的PHP代碼要做到這一點:

$target = "../images/uploads/"; 
$target = $target . $_FILES['image']['name']; 
$pname = $_FILES['image']['name']; 
$ptemp = $_FILES['image']['tmp_name']; 
$ptype = $_FILES['image']['type']; 
$psize = $_FILES['image']['size']; 
if(move_uploaded_file($pname, $target)){ 
    echo "file moved"; 
}else{ 
    echo "not moved "; 
} 

回答

3

可能要改變這一行使用臨時文件的位置(這是要移動的實際文件的位置)。您正在使用它找到的原始文件的名稱,該名稱不存在。

if(move_uploaded_file($pname, $target)){ 

像這樣:

if(move_uploaded_file($_FILES['image']['tmp_name'], $target)){ 

或者這樣:

if(move_uploaded_file($ptemp, $target)){ 
+0

謝謝,不知道我在哪裏混在了一起。漫長的一天。 –

1

您需要使用的文件的臨時名稱。試試這個:

$target = "../images/uploads/"; 
$target = $target . $_FILES['image']['name']; 
$pname = $_FILES['image']['name']; 
$ptemp = $_FILES['image']['tmp_name']; 
$ptype = $_FILES['image']['type']; 
$psize = $_FILES['image']['size']; 
if(move_uploaded_file($ptemp, $target)){ 
    echo "file moved"; 
}else{ 
    echo "not moved "; 
}