我在一个社交网络网站上工作,在该网站上注册时会创建多个目录。这是我正在使用的代码:
$path = "fb_users/Organization/" . $user . "/Profile/";
$path2 = "fb_users/Organization/" . $user . "/Post/";
$path3 = "fb_users/Organization/" . $user . "/Cover/";
mkdir($path, 0, true);
mkdir($path2, 0, true);
mkdir($path3, 0, true);
该代码在我的本地主机上运行良好,但是当我在 cPanel 主机上使用相同的代码时,该代码仅创建 fb_users/Organization/fb@abc.com
(让 $user = fb @abc.com)。它不会再创建三个文件夹。谁能帮我摆脱这一切?
代码前的目录:
/fb_users/Organization
在本地主机上运行代码后:
/fb_users/Organization/fb@abc.com/Cover
/fb_users/Organization/fb@abc.com/Post
/fb_users/Organization/fb@abc.com/Profile
使用 cPanel 在主机上运行相同的代码:
/fb_users/Organization/fb@abc.com (only this directory is created)
最佳答案
当您在 Unix 服务器上指定 mode = 0
时,它将创建顶级目录 /fb_users/Organization/fb@abc.com
没有读取或写权限,即使是所有者。所以它没有创建子目录的权限。使用 0700
授予所有者完全权限,但不允许其他任何人访问它。
mkdir($path, 0700, true);
mkdir($path2, 0700, true);
mkdir($path3, 0700, true);
关于php - 在 Php 中使用 mkdir() 创建多个目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38406668/