PHP move_uploaded_file不起作用

时间:2017-04-13 08:38:24

标签: php wordpress

我不确定这里有什么问题,但我知道它与move_uploaded_file有关。我已经尝试更改文件更改为的名称,并且我已将目录的chmod更改为777.从我可以看出,没有理由为什么文件没有被移动,但它不是'吨。

以下是相关代码。请记住,这是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>';

1 个答案:

答案 0 :(得分:0)

在我调用$name = basename($_FILES["file"]["name"]);之前使用move_uploaded_file()的情况相同的情况下,我不是说它是解决方案,但也许你正在重复这条路径。 希望它有所帮助。