0

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

使用 PHP 脚本创建此文件夹后,mkdir('folder',0777)我将使用 PHP 的图像上传到刚刚创建的文件夹。这不能正常工作:该move_uploaded_file函数在服务器函数中返回一个规则safe_mode。尽管此服务器safe_mode属性已关闭,但仍会给出此错误/警告。

当我检查我的 FTP 用户帐户时,我看到权限为 777 的制作目录,但上传不会成功上传到该目录...

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

有人对解决此问题有任何线索吗?我不是那个服务器经验丰富:) 谢谢!

4

3 回答 3

0

将此用于 mkdir 用户名是您在 uplod 文件夹中的文件夹名称

 if(!is_dir('uploads/'.$username . "/")) {
 mkdir('uploads/'.$username . "/", 0755);
 }`
于 2012-10-11T11:41:21.487 回答
0

您必须考虑到,在创建目录时,创建掩码与umask相加:

$old = umask( 0 );
mkdir( 'folder', 0777, true );
umask( $old );
于 2012-10-11T11:41:53.213 回答
0

您当前的 umask 可能会影响您目录上的模式。它将最终获得(mkdir-mode & (~umask))权限。

尝试:

$oldmask = umask(0);
mkdir('folder', 0777);
umask($oldmask);
于 2012-10-11T11:41:55.370 回答