[英]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_exists
和move_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.