我正在后台处理上传的图像,这样你就可以更改前面的图像。问题是我的上传脚本没有返回任何错误,但也没有移动文件。我希望我的脚本将新文件上传到那个位置,并替换任何具有相同名称的文件,但我必须先让移动工作。
我哪里错了?
==================================================================================编辑:我在路径上加了斜线。但是它仍然不会上传我的图片。代码如下:
$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";
}
$target_path = "../../site/images/user_images/";
^
这里您忘记了/
,它告诉它是您必须上传文件的目录。
所以$target_path.$image_name
会变成这个
../../site/images/user_images/newfile.png
否则,您的代码将产生此输出
../../site/images/user_imagesnewfile.png
您缺少尾部斜杠。您需要:
$target_path = "../../site/images/user_images/";
将slashe添加到路径变量的末尾,然后重试。
$target_path = "../../site/images/user_images/";
您在表单中添加了enctype吗?
<form name="form1" id="form1" method="post" action="" enctype="multipart/form-data">
</form>
$target_path = $_SERVER['DOCUMENt_ROOT']."your/folder/relat";
路径应该是完整的路径,然后为文件夹分配适当的权限