PHP创建文件夹(mkdir)在文件夹名称自动添加号码?

时间:2017-08-19 04:40:23

标签: php

<?php
   mkdir("testing", 0700);
?>

我用这个代码可以创建“测试”文件夹,但是我希望每当我运行这个代码来创建文件夹时,它首先可以自动添加文件夹名称中的数字。比如

"1testing, 2testing, 3testing, 4testing.........."  

怎么做???

3 个答案:

答案 0 :(得分:4)

希望此代码对您有所帮助。

一开始可能这个解决方案似乎效率低下但是在没有数据库参与的情况下它肯定会起作用。

注意:在特定名称可用之前,它会继续检查文件夹名称

<?php
ini_set('display_errors', 1);
$counter=1;
$path="/path/to/folder/test";
while(is_dir($path))
{
    $path="/path/to/folder/{$counter}test";
    $counter++;
}
mkdir($path);

仅当您具有适当的权限时才会创建目录,否则它将以。

结尾
  

警告: mkdir():权限被拒绝

答案 1 :(得分:0)

你可以做到这一点的一种方法是将最后一个文件夹no存储在数据库表中,然后获取该值并像使用mkdir一样使用它(i +&#34; testing&#34;);

答案 2 :(得分:0)

$path_to_root_folder = "/";
$tmp_list = preg_filter('/^/', $path_to_root_folder, array_diff(scandir($path_to_root_folder), array('..', '.')));

$highest = 0;
$folder_string = "testing";
foreach($tmp_list as $is_folder){
    if(is_dir($is_folder)){
        if(preg_match("#(\d+)testing#", $is_folder, $matched) && $matched[1] > $highest)
            $highest = $matched[1];
    }
}
mkdir($path_to_root_folder.($highest+1).$folder_string);

如果目录中还有除测试文件夹之外的其他文件夹,也可以使用此功能。