2017-04-13 109 views
0

我不確定這裏有什麼問題,但我知道它與move_uploaded_file有關。我已經嘗試更改文件被更改爲的名稱,並且已將目錄的chmod更改爲777.從我可以告訴的是沒有任何理由說明文件未被移動,但事實並非如此。PHP move_uploaded_file不起作用

這裏是有問題的代碼。請記住,這是Wordpress插件的一部分,所以我使用我的代碼中的函數。

if (isset($_FILES["file"])) { 
    if ($_FILES["file"]["error"] > 0) { 
    echo "Return Code: " . $_FILES["file"]["error"]; 
    die; 
    } else { 
    if (file_exists("upload/" . $_FILES["file"]["name"])) { 
     echo $_FILES["file"]["name"] . " already exists. "; 
     die; 
    } elseif(strtolower(end(explode('.', $_FILES['file']['name']))) != "csv") { 
     echo "File is not a .csv"; 
     die; 
     } else { 
     if(move_uploaded_file($_FILES["file"]["tmp_name"], plugin_dir_path(__FILE__) . "uploads/uploaded_file.csv")) { 
     echo "Stored in: " . plugin_dir_path(__FILE__) . "upload/uploaded_file.csv<br />"; 
     } else { 
     echo "Temp file was not moved.<br />"; 
     echo '<pre>'; 
     echo 'Here is some more debugging info:<br />'; 
     print_r($_FILES); 
     print "</pre>"; 
     } 
    } 
    } 


echo '<form method="post" action="" enctype="multipart/form-data">'; 
echo '<input type="file" name="file" id="file" />'; 
submit_button('Import CSV'); 
echo '</form>'; 
+0

您是否收到任何錯誤訊息? – Twinfriends

+0

我沒有收到任何錯誤。 –

回答

0

在相同的情況下,我用:$name = basename($_FILES["file"]["name"]);調用move_uploaded_file()之前,我不會說這是解決方案,但也許你重複的路徑。 希望它有幫助。