Php Codeigniter生成目录(如果不存在)

Php Codeigniter生成目录(如果不存在),php,codeigniter,upload,mkdir,Php,Codeigniter,Upload,Mkdir,嗨,有人能帮我吗。基本上,我使用了codeigniter的文件上传类 而且效果很好!但是我需要知道如何在这个默认上传路径中创建目录这是我的示例代码 date_default_timezone_set('Asia/Manila'); $date = date('Y-m-d H:i:s'); $config['upload_path'] = './uploads/'.$date; $config['allowed_types'] = 'jpg|jpeg|gif|png';

嗨,有人能帮我吗。基本上,我使用了codeigniter的文件上传类 而且效果很好!但是我需要知道如何在这个默认上传路径中创建目录这是我的示例代码

date_default_timezone_set('Asia/Manila');
$date = date('Y-m-d H:i:s');

    $config['upload_path'] = './uploads/'.$date;
    $config['allowed_types'] = 'jpg|jpeg|gif|png';
    $config['max_size'] = '100';
    $config['max_width']  = '1024';
    $config['max_height']  = '768';


if (!is_dir('uploads/'.$date)) {
mkdir('./uploads/' . $date, 0777, TRUE);

}
我犯了一个错误,比如

Message: mkdir(): Invalid argument
我搜索它将如何修复,他们说这个
0777
CI权限就可以了,但它仍然不适合我


感谢您的回复。

日期格式将包含特殊字符,如
-

我不确定
-
是否正确,但是
在地图上是不允许的。因此,您必须删除该字符
$date

$date = str_replace( ':', '', $date);
if (!is_dir('uploads/'.$date)) {
    mkdir('./uploads/' . $date, 0777, TRUE);

}
或如所述使用:

date('Y-m-d H.i.s')

若您是codeigniter的新手,并且之前使用过php,那个么您可以使用代码来创建类似于

$target_dir="../../media/profile/".date('my')."/";
    if(!file_exists($target_dir)){
        mkdir($target_dir,0777);
    }
然后在codeignitor中,您只能使用一个点作为外部目录路径

$target_dir="././media/profile/".date('my')."/";
    if(!file_exists($target_dir)){
        mkdir($target_dir,0777);
    }

这个解决了我的问题。

“:”目录名中不允许使用冒号字符。请尝试给出完整的路径。并用双引号括起来。@elavarasanley谢谢你提供的信息,我现在就试试,如果它能修复使用
date('Y-m-d H.I.s')
而不是“:”,我会给你回复。我已经试过上面代码的$date='abc'第二行,来测试日期是否是我的问题,但我还是得到了同样的答案error@kodewrecker,没问题。很高兴我能帮忙。不要忘记,在codeigniter配置中设置日期之前,必须更改日期。否则,它仍然会失败;)这个答案在低质量的帖子评论队列中,因为它只是一行没有解释的代码。请解释你的代码是做什么的,以及它是如何回答这个问题的。好的答案不需要解释。这是最好的答案。
$target_dir="././media/profile/".date('my')."/";
    if(!file_exists($target_dir)){
        mkdir($target_dir,0777);
    }