红穆笔记
首页 语言笔记 PHP 检查指定目录是否存在指定前缀的目录,存在便返回目录名称,不存在则创建一个目录
语言笔记 PHP

PHP 检查指定目录是否存在指定前缀的目录,存在便返回目录名称,不存在则创建一个目录

PHP 检查指定目录是否存在指定前缀的目录,存在便返回目录名称,不存在则创建一个目录

封装的代码:

🔒 隐藏内容:登录后可查看

function checkOrCreateDirectory($dir, $prefix, $newDirName) {
    $directories = array_filter(glob($dir . '/*'), 'is_dir');
    
    foreach ($directories as $directory) {
        $directoryName = basename($directory);
        if (strpos($directoryName, $prefix) === 0) {
            return $directoryName;
        }
    }
    
    $newDirectory = $dir . '/' . $prefix . $newDirName;
    if (!file_exists($newDirectory)) {
        mkdir($newDirectory, 0777, true);
    }
    
    return $prefix . $newDirName;
}

这个函数会接收三个参数:需要检查的目录名、需要检查的前缀以及要创建的新目录名。它会使用 glob() 函数获取目录中的所有子目录,并使用 array_filter() 函数过滤掉所有的非目录文件。然后,它会循环遍历所有目录并检查它们的名称是否以指定的前缀开头。如果找到了一个匹配的目录,函数会立即返回该目录名称。否则,它会创建一个新目录并返回其名称。

注意,这个函数使用了 file_exists() 函数来检查新目录是否已经存在,以避免重复创建同名目录。如果您希望在创建新目录时应用不同的访问权限,可以修改 mkdir() 函数的第三个参数。

标注好注释的函数

🔒 隐藏内容:会员可查看

/**
 * 检查指定目录是否存在前缀admin-的目录,如果存在便返回目录名称,不存在则创建一个目录。
 * @param string $dir 需要检查的目录名。
 * @param string $prefix 需要检查的前缀。
 * @param string $newDirName 要创建的新目录名。
 * @return string 返回目录名称。
 */
function checkOrCreateDirectory($dir, $prefix, $newDirName) {
    // 使用 glob() 函数获取目录中的所有子目录。
    $directories = array_filter(glob($dir . '/*'), 'is_dir');

    // 循环遍历所有目录。
    foreach ($directories as $directory) {
        // 使用 basename() 函数获取目录名称。
        $directoryName = basename($directory);
        // 检查目录名称是否以指定的前缀开头。
        if (strpos($directoryName, $prefix) === 0) {
            // 如果找到匹配的目录,立即返回目录名称。
            return $directoryName;
        }
    }

    // 如果没有找到匹配的目录,创建新目录。
    $newDirectory = $dir . '/' . $prefix . $newDirName;
    // 检查新目录是否已经存在,如果不存在则创建目录。
    if (!file_exists($newDirectory)) {
        // 使用 mkdir() 函数创建新目录。
        mkdir($newDirectory, 0777, true);
    }

    // 返回新目录名称。
    return $prefix . $newDirName;
}

 

微信赞赏

微信

支付宝赞赏

支付宝

✍️ 作者: 红穆

网站管理员 · 感谢阅读,更多精彩内容敬请关注

作者主页 查看主页 →

相关文章

PHP ob函数记录

PHP ob函数记录 语言笔记 PHP

下面3个函数的用法 ob_get_contents(); ob_end_clean(); ob_start(); 可以借助这几个函数实现缓冲本地文件,以及执行本地脚本代码。 使用ob_start()把输出的代码存到缓冲区,页面不会显示出来; 然后用ob_get_contents得到缓冲区的数据。 o…
👁 143
PHP preg

PHP preg 语言笔记 PHP

preg_match_all 函数用于执行一个全局正则表达式匹配。preg_match_all() 语法int preg_match_all ( string $pattern , string $subject [, array &$matches [, int $flags = PREG…
👁 169
PHP 三元运算符与if的详解

PHP 三元运算符与if的详解 语言笔记 PHP

三元运算符语条件 ? 结果1 : 结果2 说明:问号前面的位置是判断的条件,如果满足条件时结果1,不满足时结果2。本文对三元运算符和if...else...进行对比详解,希望对大家有所帮助。今天在改论文在线的时候遇到了一个语句看不懂:$if_summary = $row['IF_SUMMARY']=…
👁 191
PHP强制转换类型

PHP强制转换类型 语言笔记 PHP PHP采集 PHP与mysql

获取数据类型1.如果想查看某个表达式的值和类型,用var_dump()。 2.如果只是想得到一个易读懂的类型的表达方式用于调试,用 gettype()。3.要查看某个类型,不要用 gettype(),而用is_type() 函数。字符串转换为数值当一个字符串被当作数字来求值时,根据以下规则来决定结果…
👁 232
php 字符串中是否包含指定字符串的多种方法

php 字符串中是否包含指定字符串的多种方法 语言笔记 PHP

strstrstrstr() 函数搜索一个字符串在另一个字符串中的第一次出现。该函数返回字符串的其余部分(从匹配点)。如果未找到所搜索的字符串,则返回 false。代码如下:<?php $email = 'user@example.com'; $domain = strstr($email, …
👁 138

推荐阅读

(PC+WAP)建筑结构工程类网站pbootcms模板 气膜建筑网站源码下载 0044

(PC+WAP)建筑结构工程类网站pbootcms模板 气膜建筑网站源码下载 0044 实用收藏 pbootcms模板

一款针对建筑结构工程与气膜建筑行业的PbootCMS网站模板,支持PC端和WAP端。设计风格现代简约,能够很好地展现建筑结构的美感与技术实力。模板内置工程项目展示、技术解析及行业新闻模块,有助于建筑公司在线上树立专业形象。模板展示 安装说明 网站后台:/admin.php 账号:admin 密码:a…
👁 66
水务供水调度系统类网站模板 0738

水务供水调度系统类网站模板 0738 实用收藏 易优模板

一款针对水务供水调度系统类企业的eyoucms网站模板。设计风格科技水务,能够展示供水调度系统、水务管理、技术方案及工程案例。有助于水务科技企业在线上展示产品,吸引市政客户。模板展示 安装说明 网站后台:/login.php 账号:admin 密码:admin 相关文章易优CMS安装常见问题总结易优…
👁 34
(PC+WAP)建筑节能遮阳物件类营销型网站pbootcms模板 节能建筑类网站源码下载 0045

(PC+WAP)建筑节能遮阳物件类营销型网站pbootcms模板 节能建筑类网站源码下载 0045 实用收藏 pbootcms模板

这套PbootCMS模板是一款营销型建筑节能与遮阳产品企业网站,同时支持PC与移动端。设计风格清新绿色,强调节能环保理念。页面重点突出了遮阳产品、节能方案及工程案例,有助于建筑节能公司在线上高效获客并展示技术优势。模板展示 安装说明 网站后台:/admin.php 账号:admin 密码:admin…
👁 40