我正在为后台上传图片,以便您可以更改前面的图像。 问题是我的上传脚本没有返回任何错误,但它也没有移动文件。 我希望我的脚本将新文件上传到该位置,并替换任何具有相同名称的文件,但我必须首先使用移动工作。
我哪里错了?
=============================================== =================================== 编辑: 我已经在路径中添加了斜杠。它仍然不会上传我的图像。 代码如下:
$target_path = "../../site/images/user_images/";
$image_name = $_POST['filename'].".".pathinfo($_FILES['file']['name'],PATHINFO_EXTENSION);
if(move_uploaded_file($_FILES['file']['tmp_name'], $target_path.$image_name)) {
echo "<meta http-equiv='refresh' content='0;URL=images.php?saved=true' />";
} else {
echo "Error";
}
答案 0 :(得分:3)
$target_path = "../../site/images/user_images/";
^
在这里,您忘记了/
,它告诉您必须上传文件的目录。
所以$target_path.$image_name
会变成这样
../../site/images/user_images/newfile.png
否则您的代码会生成此输出
../../site/images/user_imagesnewfile.png
答案 1 :(得分:1)
你错过了斜线。你需要:
$target_path = "../../site/images/user_images/";
答案 2 :(得分:0)
将斜杠添加到路径变量的末尾,然后重试。
$target_path = "../../site/images/user_images/";
答案 3 :(得分:0)
您是否在表单中添加了enctype?
<form name="form1" id="form1" method="post" action="" enctype="multipart/form-data">
</form>
答案 4 :(得分:0)
$target_path = $_SERVER['DOCUMENt_ROOT']."your/folder/relat";
路径应该是完整路径,然后为文件夹分配适当的权限