现在,在我的代码中,当我登录我的应用程序时,会创建一个像private/119
这样的文件夹。代码是,
if (!is_dir('private/'.$q->row()->userId)) {
$oldmask = umask(0);
$q=mkdir('private/' .$q->row()->userId,0777,true);
umask($oldmask);
copy('public/images/default_user.png','private/'.$q->row()->userId.'/default-profile_pic.png');
}
现在我想在userId(119)文件夹中再创建一个文件夹。怎么做?我尝试了类似$q=mkdir('private/' .$q->row()->userId .'/beforeconvert',0777,true);
的东西,但它没有用。
或者以下代码是否正确?
if (!is_dir('private/'.$q->row()->userId) && !is_dir('private/'.$q->row()->userId .'/beforeconvert')) {
$oldmask = umask(0);
$q=mkdir('private/' .$q->row()->userId,0777,true);
$create_folder = mkdir('private/' .$q->row()->userId .'/beforeconvert',0777,TRUE);
umask($oldmask);
copy('public/images/default_user.png','private/'.$q->row()->userId.'/default-profile_pic.png');
}
答案 0 :(得分:1)
根据您的代码,如果父目录:beforeconvert
已经存在,则不会创建$q->row()->userId
。
此外,您不需要创建第一个父目录,然后创建子目录。您可以使用mkdir
直接创建子目录,它也将创建父目录。
更改您的代码如下:
<?php
if (!is_dir('private/'.$q->row()->userId .'/beforeconvert')) {
$oldmask = umask(0);
$create_folder = mkdir('private/' .$q->row()->userId .'/beforeconvert',0777,TRUE);
umask($oldmask);
copy('public/images/default_user.png','private/'.$q->row()->userId.'/default-profile_pic.png');
}