我有一个非常简单的PHP脚本,它根据产品ID创建一个目录,这些文件夹用于将特定于产品ID的图像上传到其中。
使用PHP脚本mkdir('folder',0777)
创建此文件夹后,我将带有PHP的图像上传到刚创建的文件夹。这不起作用:move_uploaded_file
函数返回服务器safe_mode
函数中的规则。虽然关闭了服务器safe_mode
属性,但仍然会出现此错误/警告。
当我查看我的FTP用户帐户时,我看到带有权限777的make目录,但上传将无法成功上传到该目录...
奇怪的是,当我手动删除制作的目录并创建一个新目录(通过FTP)时,上传工作完美!
有没有人有解决这个问题的线索?我不是那个经验丰富的服务器:) 谢谢!
答案 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);