Php 移动\u上载的\u文件未移动

Php 移动\u上载的\u文件未移动,php,file-transfer,Php,File Transfer,我正在后台处理上传的图像,这样你就可以更改前面的图像。 问题是我的上传脚本没有返回任何错误,但它也没有移动文件。 我希望我的脚本将新文件上传到该位置,并替换任何同名文件,但我必须首先让移动工作正常 我哪里做错了 ================================================================================== 编辑: 我已经在路径中添加了斜线。但它仍然不会上传我的图片。 代码如下: $target_path = "../../si

我正在后台处理上传的图像,这样你就可以更改前面的图像。 问题是我的上传脚本没有返回任何错误,但它也没有移动文件。 我希望我的脚本将新文件上传到该位置,并替换任何同名文件,但我必须首先让移动工作正常

我哪里做错了

================================================================================== 编辑: 我已经在路径中添加了斜线。但它仍然不会上传我的图片。 代码如下:

$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/”;
$image\u name=$\u POST['filename'].“.pathinfo($\u FILES['file']['name'],pathinfo\u扩展名);
如果(移动上传的文件($文件['file']['tmp\u名称],$target\u path.$image\u名称)){
回声“;
}否则{
回声“错误”;
}

将斜杠添加到path变量的末尾,然后重试

$target_path = "../../site/images/user_images/";
在这里,您忘记了
/
,它告诉您必须在该目录中上载文件

因此,
$target\u path.$image\u name
将变成这样

../../site/images/user_images/newfile.png
否则您的代码将生成此输出

../../site/images/user_imagesnewfile.png

您是否在表单中添加了enctype

<form name="form1" id="form1" method="post" action="" enctype="multipart/form-data">
</form>


路径应该是完整路径,然后为文件夹分配适当的权限

您将缺少尾部斜杠。你需要:

$target_path = "../../site/images/user_images/";

谢谢,这解决了不上传的问题。但现在它上载的文件名称错误(我想是因为代码中的$target_path.$image_name)。你知道如何用正确的名字上传到这个位置吗?当我尝试($target\u path,$image\u name)时,它返回“Error”。它还将其上传到用户图片上方的文件夹中,因此最终显示为图片/instead@Parrotmaster:它应该能工作。分析并找出问题所在。@Parrotmaster:是的,这是默认行为。你必须要求清楚<代码>echo$_文件['file']['error']是的,我知道,它返回0。显然它正在工作。我的FTP客户端甚至在重新加载几次后也不知道如何处理这些图像。现在它跳转到else{},但是echo$_文件['file']['error'];返回一个0。打开一些错误报告@soulsekah这是半年前解决的。
$target_path = $_SERVER['DOCUMENt_ROOT']."your/folder/relat";
$target_path = "../../site/images/user_images/";