2012-09-30 27 views
3

我使用php上傳文件並將其移動到所需位置... 使用move_uploaded_file時,它表示文件已成功移動但文件未顯示在目錄。 HTML和PHP代碼如下...move_uploaded_file()顯示成功,但不能正常工作

<form action="test_upload.php" method="POST" enctype="multipart/form-data"> 
<fieldset> 
<label for="test_pic">Testing Picture</label> 
<input type="file" name="test_pic" size="30" /><br /> 
</fieldset> 

<fieldset> 

<input type="submit" value="submit" /> 

</fieldset> 
</form> 

php的是這樣:

<?php 


$image_fieldname = "test_pic"; 
$upload_dir = "/vidit"; 
$display_message ='none'; 

if(move_uploaded_file($_FILES[$image_fieldname]['tmp_name'],$upload_dir) && is_writable($upload_dir)){ 
    $display_message = "file moved successfully"; 
    } 
    else{ 
     $display_message = " STILL DID NOT MOVE"; 
      } 



?> 
當我運行這個頁面,上傳合法的文件

- 成功上傳test_upload.php回聲文件。但是當我登錄到網頁根目錄中的「vidit」文件夾時。該文件夾是空的...

我使用的是wamp服務器。

+0

檢查文件夾準備 – AboQutiesh

+0

請詳細說明。 – valiantb

+0

您的wamp服務器上的文件夾vidit可能只有可讀的權限,因此請檢查vidit文件夾的權限以確保其可寫入 – AboQutiesh

回答

1

您需要附加文件名到您的目標路徑。試試如下

$doc_path = realpath(dirname(__FILE__)); 

if(move_uploaded_file($_FILES[$image_fieldname]['tmp_name'],$doc_path.$upload_dir.'/'.$_FILES[$image_fieldname]['name']) && is_writable($upload_dir)){ 
    $display_message = "file moved successfully"; 
} 
else{ 
    $display_message = " STILL DID NOT MOVE"; 
} 

請參閱PHP手冊以供參考。 http://php.net/manual/en/function.move-uploaded-file.php

+0

現在它說 - 無法打開流:沒有這樣的文件或目錄在C:\ wamp \ www \ testing_upload \ test_upload.php在第9行 – valiantb

+0

@valiantb請參閱編輯的答案和嘗試,並粘貼document_root路徑意味着絕對路徑vidit。 – GBD

0

使用此它可能工作

$upload_dir = "vidit/"; 



     $uploadfile=($upload_dir.basename($_FILES['test_pic']['name'])); 

if(move_uploaded_file($_FILES['test_pic']['tmp_name'], $uploadfile)) { 


} 
+0

我也試過這個,但是也發生了同樣的情況。 – valiantb

+0

@valiantb看到編輯答案。這可能工作 – StaticVariable

0
<?php 
    $image_fieldname = "test_pic"; 
    $upload_dir = "/vidit"; 
    $display_message ='none'; 
    if (move_uploaded_file($_FILES[$image_fieldname]['tmp_name'],$upload_dir . '/' . $_FILES[$image_fieldname]['name'] && is_writable($upload_dir)) { 
    $display_message = "file moved successfully"; 
    } else { 
    $display_message = " STILL DID NOT MOVE"; 
    } 
?> 

添加了縮進以及。文件名需要被應用,或者像上傳文件那樣作爲無擴展文件。

0

創建根(WWW)tmp目錄,將目錄更改路徑肯定它的工作原理 /後您的目錄名稱是強制性

$ upload_dir = $ _ SERVER [ 'DOCUMENT_ROOT'] '的/ tmp /'。