2013-07-15 88 views
-1

我正在上傳圖片的後臺,以便您可以更改前面的圖片。 問題是我的上傳腳本沒有返回任何錯誤來處理,但它也沒有移動文件。 我希望我的腳本將新文件上傳到該位置,並且無論如何都替換具有相同名稱的任何文件,但我必須首先獲取移動的工作。move_uploaded_file不移動

我哪裏錯了?

============================================== ==================================== 編輯: 我已將斜槓添加到路徑。它仍然不會上傳我的圖片。 代碼如下:

$target_path = "../../site/images/user_images/"; 
$image_name = $_POST['filename'].".".pathinfo($_FILES['file']['name'],PATHINFO_EXTENSION); 

if(move_uploaded_file($_FILES['file']['tmp_name'], $target_path.$image_name)) { 
    echo "<meta http-equiv='refresh' content='0;URL=images.php?saved=true' />"; 
} else { 
    echo "Error"; 
} 
+0

現在它跳轉到else {},但是echo $ _FILES ['file'] ['error'];給我一個0. – Parrotmaster

+0

打開一些錯誤報告http://stackoverflow.com/questions/6575482/how-do-i-enable-error-reporting-in-php – soulseekah

+0

@soulseekah這是在半年前解決。 – Parrotmaster

回答

1

你錯過了最後的斜線。你需要:

$target_path = "../../site/images/user_images/"; 
+0

謝謝,這解決了上傳問題。除了現在它上傳文件的名稱錯誤(由於$ target_path。$ image_name在我的代碼我假設)。你會知道如何將它以正確的名稱上傳到該位置嗎?當我嘗試($ target_path,$ image_name),而是返回「錯誤」。它也上傳到user_images上面的文件夾,所以它以圖片形式結束了/而不是 – Parrotmaster

+0

@Protrotmaster:它應該工作。分析['錯誤代碼'](http://www.php.net/manual/en/features.file-upload.errors.php)並找出錯誤。 – 2013-07-15 11:02:54

+0

我沒有收到任何錯誤代碼。 – Parrotmaster

0

添加slashe結束路徑變量,然後再試一次。

$target_path = "../../site/images/user_images/"; 
3
$target_path = "../../site/images/user_images/"; 
              ^

在這裏,你就忘記/告訴它,你必須要上傳的文件目錄。

所以$target_path.$image_name會變成這個樣子

../../site/images/user_images/newfile.png 

否則,你的代碼產生這種輸出

../../site/images/user_imagesnewfile.png 
0

已經在您的形式加入加密類型?

<form name="form1" id="form1" method="post" action="" enctype="multipart/form-data"> 
</form> 
0
$target_path = $_SERVER['DOCUMENt_ROOT']."your/folder/relat"; 

的路徑應該是完整路徑,之後分配適當權限的文件夾

相關問題