2017-04-13 108 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()之前,我不会说这是解决方案,但也许你重复的路径。 希望它有帮助。