2010-05-10 92 views
1

任何想法为什么这不起作用?我以前用过很多次。 我所说的文件夹“上传”在同一目录PHP上传问题

$target_path = "uploads/"; 
$target_path = $target_path . basename($_FILES['file']['name']); 

if(! move_uploaded_file($_FILES['file']['tmp_name'], $target_path)) { 
    $error = 1; 
} 

文件输入形式似乎是工作,因为当我回声出$_POST['file'];文件名是正确的

感谢

+0

确切的问题是什么?如果文件没有被移动,你应该尝试使用一个绝对的$ target_path(/.../.../uploads)而不是相对的(uploads /)。如果上传与您正在使用的php文件位于相同目录中,则可以使用 $ target_path = basedir(\ _ \ _ FILE \ _ \ _)。 '/上传/'; 将工作 – MartinodF 2010-05-10 17:36:48

+0

move_uploaded_files是什么引发错误,我试图使用绝对目录也没有工作? – user195257 2010-05-10 17:43:26

+0

你也可以发布你所得到的错误吗? – 2010-05-10 17:46:01

回答

2

确保:

  • 您已在form
  • 文件夹uploads具有写权限指定的编码类型enctype="multipart/form-data",chmod命令755
  • 尝试用$_SERVER['DOCUMENT_ROOT']
前缀路径
+0

谢谢你,完全忘了enctype! – user195257 2010-05-10 17:48:23

+0

@ user195257:不客气:) – Sarfraz 2010-05-10 17:50:44

0

有你检查了上传文件夹的权限?对于上传,它通常需要777的权限(有时写为rwxrwxrwx),但是我会先尝试755或775,因为存在允许全局用户完全写访问的安全隐患。

0

检查您是否有写入权限设置到您的上传文件夹。