每3个数字组合的php mkdir文件夹

时间:2012-11-13 11:57:44

标签: php

我想为每3个数字组合做一些函数mkdir文件夹。例如,502341将mkdir一个新的forder 502/341,10023049132将mkdir一个新的forder 10/023/049/132我使用number_formatexplode,我的问题是如何检查有多少单位explode和怀疑

之类的东西
if(!is_dir(dirname(__FILE__) . '/'.$bbb[0])){
    mkdir(dirname(__FILE__) . '/'.$bbb[0],0777);
}

$aaa = '502341';//10023049132
$bbb = explode(',',number_format($aaa));
echo $bbb[0];
if(!is_dir(dirname(__FILE__) . '/'.$bbb[0])){
    mkdir(dirname(__FILE__) . '/'.$bbb[0],0777);
}
if(!is_dir(dirname(__FILE__) . '/'.$bbb[0]. '/'.$bbb[1])){
    mkdir(dirname(__FILE__) . '/'.$bbb[0]. '/'.$bbb[1],0777);
}
...//how to check more $bbb[2], $bbb[3] or even more?

4 个答案:

答案 0 :(得分:3)

您需要的只是chunk_splitmkdir recursive选项

$path = __DIR__;

if (! is_writable($path))
    trigger_error("$path is not writeable");

$str = "502341";
$arr = chunk_split($str, 3, "/");
mkdir($path . DIRECTORY_SEPARATOR . $arr, 0777, true);
                                                  ^--------- Recrusive 

答案 1 :(得分:0)

您正在寻找 str_split() 。确保事先验证输入!

答案 2 :(得分:0)

使用mkdir(http://php.net/manual/en/function.mkdir.php)的递归模式允许创建嵌套目录

答案 3 :(得分:0)

我会使用递归文件夹创建。例如:

<?php
$aaa = "502341";
$bbb = explode(',',number_format($aaa));
print count($bbb); // prints the depth of your folder tree
mkdir(implode("/",$bbb), 0644, true); // creates recursive folder
?>

其中0644是该文件夹的权限。根据您的需要进行相应设置。