【问题标题】:Append (1),(2) after duplicated folder name in PHP在 PHP 中重复的文件夹名称后附加 (1),(2)
【发布时间】:2013-06-24 10:23:37
【问题描述】:

目前我必须在窗口文件系统中创建一个类似的文件夹。

例如:如果文件夹存在,则在末尾添加(1),如果存在(1),则在末尾添加(2), 问题是,PHP中有标准函数还是我必须编写自己的函数?

if (isdir($folderPath)) {

        $folderPath =  ...special handling or any PHP standard function ..
        mkdir($folderPath);

}

从阅读 PHP 手册来看,到目前为止我还没有类似的参数来处理这个问题吗?除了 mkdir 还有其他功能吗?谢谢

【问题讨论】:

  • 创建文件夹的方法不多。检查spl 库,它可能有一些与mkdir 相同的类
  • 您可以使用is_dir()。存储数据的一部分是您可能也想在某个时候检索它。没有什么比你更独特的东西可以用来逻辑地构建你的文件了吗?编辑:我看到你已经在使用它了(让我睡吧!)。除此之外,我认为没有什么花哨的功能可以让这更容易。

标签: php mkdir


【解决方案1】:

我不知道有什么功能可以做到这一点。我想到了一种蛮力方法:

function make_filename($name) {
    if (file_exists($name)) {
        $i = 0;
        do {
            $testname = sprintf("%s (%d)", $name, ++$i);
        }
        while (file_exists($testname));
        return $testname;
    }
    return $name;
}

mkdir(make_filename("test"));

如果您期望有大量重复的文件名,我不建议您这样做。

【讨论】:

    猜你喜欢
    • 2018-09-06
    • 2020-08-29
    • 2015-07-13
    • 1970-01-01
    • 1970-01-01
    • 2021-12-19
    • 1970-01-01
    • 1970-01-01
    • 2013-06-01
    相关资源
    最近更新 更多