无法使用php脚本上传

时间:2014-02-08 15:52:23

标签: php html

我在php中有一个用于将文件上传到服务器的脚本。它首先工作,但我不知道为什么它不再工作。它没有显示错误,但文件仍未上传到我指定用于保存所有上传文件的目录。以下是负责上传的部分:

<?php
if ($_FILES["file"]["error"] > 0)
  {
  echo "Error: " . $_FILES["file"]["error"] . "<br />";
  }
else
   {

  echo "Uploaded: " . basename($_FILES["file"]["name"]) . "<br />";
  echo "Type: " . $_FILES["file"]["type"] . "<br />";
  echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
  //by default the size of the file is in bytes so u need to divide by 1024 in order to bring it to KB
  echo "Temporarily stored in: " . $_FILES["file"]["tmp_name"] . "<br />";
  $target="/file/" . basename($_FILES["file"]["name"]) . "<br />";


  }

  if(move_uploaded_file($_FILES["file"]["tmp_name"], $target))
  {
  echo "<h2>" . "The file has been stored on the server" . "<br />" . "<h2 />";
  echo "New storage location is : " . '<a href="/public/files/" >' . $target . '</a>';
  ?>
   <html>
<body>
<div align="right"><a href="/public/files/" >Uploaded files</a></div>
<br />
</body>
</html>
<?php
}
  else
  {
    echo "<h2>" . "Error while saving the file to the server." . "<br />" . "File wont be found in the uploaded files directory" . "<br />" . "<h2 />";
    echo "The error says: " . $_FILE["file"]["error"] . " What do we do now?" ;
    echo"<pre>".print_r($_FILES,true)."</pre>";
    ?>

<?

1 个答案:

答案 0 :(得分:0)

/file/是服务器文件系统根目录中的一个目录,几乎可以肯定不存在。 move_uploaded_file()在文件系统级别工作,并且完全不了解您网站的URI结构。你可能想要更像的东西:

move_uploaded_file(...,. $_SERVER['DOCUMENT_ROOT'] . '/file/');
                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^---- add this

以便将文件移动到站点根目录的/file子目录。