我想在Linux系统中创建一个目录。包含新创建的目录的父目录具有777权限。问题是如果新目录不包含子目录,则会成功创建。但是当它包含一个子目录时,例如docs/photos
,那么就不会创建子目录(这里/照片)!那么如何创建子目录?
以下是代码:
if (!file_exists($rep))
{
if (mkdir($rep))
{
move_uploaded_file($_FILES['upload_field']['tmp_name'] , $rep."/"."photo".$image_id.".png");
}
}
答案 0 :(得分:1)
默认情况下,mkdir
不会递归创建子目录。如果您需要此类行为,则必须添加recursive
参数:mkdir($rep, 0777, true)
。有关详细信息,请参阅doc。
(顺便说一句,你应该避免777权限,他们经常导致安全问题。)
答案 1 :(得分:1)
答案 2 :(得分:0)
还有第三个参数,您必须设置为TRUE才能使其正常工作。此参数用于递归。否则PHP只会创建“root”目录