2013-07-15 46 views
-1

我正在上传图片的后台,以便您可以更改前面的图片。 问题是我的上传脚本没有返回任何错误来处理,但它也没有移动文件。 我希望我的脚本将新文件上传到该位置,并且无论如何都替换具有相同名称的任何文件,但我必须首先获取移动的工作。move_uploaded_file不移动

我哪里错了?

============================================== ==================================== 编辑: 我已将斜杠添加到路径。它仍然不会上传我的图片。 代码如下:

$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

现在它跳转到else {},但是echo $ _FILES ['file'] ['error'];给我一个0. – Parrotmaster

+0

打开一些错误报告http://stackoverflow.com/questions/6575482/how-do-i-enable-error-reporting-in-php – soulseekah

+0

@soulseekah这是在半年前解决。 – Parrotmaster

回答

1

你错过了最后的斜线。你需要:

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

谢谢,这解决了上传问题。除了现在它上传文件的名称错误(由于$ target_path。$ image_name在我的代码我假设)。你会知道如何将它以正确的名称上传到该位置吗?当我尝试($ target_path,$ image_name),而是返回“错误”。它也上传到user_images上面的文件夹,所以它以图片形式结束了/而不是 – Parrotmaster

+0

@Protrotmaster:它应该工作。分析['错误代码'](http://www.php.net/manual/en/features.file-upload.errors.php)并找出错误。 – 2013-07-15 11:02:54

+0

我没有收到任何错误代码。 – Parrotmaster

0

添加slashe结束路径变量,然后再试一次。

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

在这里,你就忘记/告诉它,你必须要上传的文件目录。

所以$target_path.$image_name会变成这个样子

../../site/images/user_images/newfile.png 

否则,你的代码产生这种输出

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

已经在您的形式加入加密类型?

<form name="form1" id="form1" method="post" action="" enctype="multipart/form-data"> 
</form> 
0
$target_path = $_SERVER['DOCUMENt_ROOT']."your/folder/relat"; 

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

相关问题