我正在一个社交网络网站上工作,其中在注册时创建了多个目录.这是我正在使用的代码:
$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);
Run Code Online (Sandbox Code Playgroud)
代码在我的localhost上运行良好,但是当我在cPanel托管上使用相同的代码时,代码只创建fb_users/Organization/fb@abc.com(let $ user = fb@abc.com).它不会创建另外三个文件夹.有人请让我离开吗?
代码前的目录:
/fb_users/Organization
Run Code Online (Sandbox Code Playgroud)
在localhost上运行代码后:
/fb_users/Organization/fb@abc.com/Cover
/fb_users/Organization/fb@abc.com/Post
/fb_users/Organization/fb@abc.com/Profile
Run Code Online (Sandbox Code Playgroud)
使用cPanel在托管上运行相同的代码:
/fb_users/Organization/fb@abc.com (only this directory is created)
Run Code Online (Sandbox Code Playgroud)
在mode = 0Unix服务器上指定时,它将创建/fb_users/Organization/fb@abc.com没有读取或写入权限的顶级目录,即使对于所有者也是如此.因此,它无权创建子目录.使用0700给业主充分的权限,但不允许任何人访问它.
mkdir($path, 0700, true);
mkdir($path2, 0700, true);
mkdir($path3, 0700, true);
Run Code Online (Sandbox Code Playgroud)