繁体   English   中英

在move_uploaded_file()php中使用href上传图像文件

[英]Upload image file using href in move_uploaded_file( ) php

我需要一些建议和指导。 我正在尝试使用链接将图像上传到文件夹中。 我无法上传图片。 我正在尝试这段代码。 这显示错误消息:

[function.move-uploaded-file]:无法打开流:HTTP包装器不支持可写连接

<?php

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

    if (file_exists("http://localhost.myimage.com/uploads/" . $_FILES["file"]["name"]))
      {
      echo $_FILES["file"]["name"] . " already exists. ";
      }
    else
      {
      move_uploaded_file($_FILES["file"]["tmp_name"],
      "http://localhost.myimage.com/uploads/" . $_FILES["file"]["name"]);
      echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
      }
    }

?>
<html>
<body>

<form action="" method="post"
enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file" id="file" />
<br />
<input type="submit" name="submit" value="Submit" />
</form>

</body>
</html>

可能吗 ?

移动文件的目标需要是服务器的绝对路径,即

move_uploaded_file( $_FILES["file"]["tmp_name"], $_SERVER['DOCUMENT_ROOT'] ."/uploads/" . $_FILES["file"]["name"]);

您正在使用URL提供file_existsmove_uploaded_file 尝试在硬盘驱动器上提供文件。 更改:

file_exists("http://localhost.myimage.com/uploads/" . $_FILES["file"]["name"])

file_exists($_SERVER['DOCUMENT_ROOT'] . "uploads/" . $_FILES["file"]["name"])

move_uploaded_file类似,因为那是错误发生的地方。

不,这不可能。

您尝试将上载的文件存储在错误的目标上。

我假设您拥有“http://localhost.myimage.com/uploads/”并且不想将文件存储在服务器中的“/ uploads /”下。

如果您的项目安装在例如/ var / www / my_prj /下

并且您的上传位于/ var / www / my_prj / uploads下,那么您的代码应如下所示:

move_uploaded_file($_FILES["file"]["tmp_name"],
      "/uploads/" . $_FILES["file"]["name"]);

这仅适用于'/ var / www / my_prj /'是Apache配置主机的DocumentRoot。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM