MKDIR和CHMOD工作,上传不成功

时间:2012-10-11 11:33:19

标签: php mysql permissions webserver

我有一个非常简单的PHP脚本,它根据产品ID创建一个目录,这些文件夹用于将特定于产品ID的图像上传到其中。

使用PHP脚本mkdir('folder',0777)创建此文件夹后,我将带有PHP的图像上传到刚创建的文件夹。这不起作用:move_uploaded_file函数返回服务器safe_mode函数中的规则。虽然关闭了服务器safe_mode属性,但仍然会出现此错误/警告。

当我查看我的FTP用户帐户时,我看到带有权限777的make目录,但上传将无法成功上传到该目录...

奇怪的是,当我手动删除制作的目录并创建一个新目录(通过FTP)时,上传工作完美!

有没有人有解决这个问题的线索?我不是那个经验丰富的服务器:) 谢谢!

3 个答案:

答案 0 :(得分:0)

将此用于mkdir用户名是上传文件夹中的文件夹名称

 if(!is_dir('uploads/'.$username . "/")) {
 mkdir('uploads/'.$username . "/", 0755);
 }`

答案 1 :(得分:0)

您必须考虑到,在创建目录时,创建掩码使用umask

$old = umask( 0 );
mkdir( 'folder', 0777, true );
umask( $old );

答案 2 :(得分:0)

目录上的模式可能会受到当前umask的影响。它会结束 拥有(mkdir-mode & (~umask))权限。

尝试:

$oldmask = umask(0);
mkdir('folder', 0777);
umask($oldmask);