【问题标题】:Moving Files with PHP that have been uploaded使用 PHP 移动已上传的文件
【发布时间】:2013-11-08 16:09:46
【问题描述】:

我已经解决了一些问题,但还没有找到我的问题的答案,所以就这样吧。

我编写了一个用于上传小文件的典型脚本。该脚本有效,并且文件被上传到服务器。但是,我无法将其上传到正确的子文件夹。

<?php
if ($_FILES["file"]["error"] > 0)
{
echo "Error: " . $_FILES["file"]["error"] . "<br>";
}
else
{
echo "Upload: " . $_FILES["file"]["name"] . "<br>";
echo "Type: " . $_FILES["file"]["type"] . "<br>";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " MB<br>";

}
if (file_exists("/enhstudios/clients/media/" . $_FILES["file"]["name"]))
  {
  echo $_FILES["file"]["name"] . " already exists. ";
  }
else
  {
  move_uploaded_file($_FILES["file"]["tmp_name"],
  "/enhstudios/clients/media/" . $_FILES["file"]["name"]);

  }
?>

我得到的错误是: 警告:move_uploaded_file(/enhstudios/clients/july.jpg) [function.move-uploaded-file]:无法打开流:/hermes/waloraweb013/b1311/moo.enhstudios/enhstudios/clients/fileuploadcode 中没有这样的文件或目录.php 在第 20 行

警告:move_uploaded_file() [function.move-uploaded-file]:无法将“/tmp/phpkfxGLm”移动到/hermes/waloraweb013/b1311/moo.enhstudios/中的“/enhstudios/clients/july.jpg” enhstudios/clients/fileuploadcode.php 第 20 行

此目录的权限设置为 777。

我哪里做错了?我尝试了所有不同的子目录组合,但仍然无法将其上传到正确的组合。

【问题讨论】:

  • 你试过move_uploaded_file($_FILES["file"]["tmp_name"], $_SERVER['DOCUMENT_ROOT']."/enhstudios/clients/media/" . $_FILES["file"]["name"]);吗?
  • 是的,不幸的是我遇到了同样的错误。

标签: php upload


【解决方案1】:

您确定不混合使用/hermes/waloraweb013/b1311/moo.enhstudios/enhstudios/clients/enhstudios/clients/ 目录吗?

我想你想移到更长的那个,但是第二个参数首先 / 使它成为一条绝对路径。

您可以在此处添加完整路径,也可以尝试删除第一个 /。 (这种相对化仅在文档根为 /hermes/waloraweb013/b1311/moo.enhstudios/ 时才有效)

【讨论】:

  • 我会避免依赖 PHP 脚本中的相对路径和“当前目录”。如果您想要与文档根目录相关的内容,请使用$_SERVER['DOCUMENT_ROOT'],或使用__DIR__ / dirname(__FILE__) 与当前文件相关。
  • 哇,谢谢拉霍斯。出于某种原因,这是我唯一没有尝试过的事情。我认为(假设)这将是相同的路径,即 /enhstudios/clients/ 是一个缩短版本。你知道他们对假设的看法……再次感谢。如果我有代表,我会支持答案。
猜你喜欢
  • 1970-01-01
  • 2013-08-05
  • 2012-05-25
  • 2013-06-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-17
  • 1970-01-01
相关资源
最近更新 更多