如何在PHP中创建一个文件夹?

时间:2017-03-01 05:55:31

标签: php codeigniter-3

现在,在我的代码中,当我登录我的应用程序时,会创建一个像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');
}

1 个答案:

答案 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');
}