红穆笔记
首頁 語言筆記 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…
👁 170
PHP 三元运算符与if的详解

PHP 三元運算符與if的詳解 語言筆記 PHP

三元運算符語條件 ? 結果1 : 結果2 說明:問號前面的位置是判斷的條件,如果滿足條件時結果1,不滿足時結果2。本文對三元運算符和if...else...進行對比詳解,希望對大家有所幫助。今天在改論文在線的時候遇到了一個語句看不懂:$if_summary = $row['IF_SUMMARY']=…
👁 192
PHP强制转换类型

PHP強制轉換類型 語言筆記 PHP PHP採集 PHP與mysql

獲取數據類型1.如果想查看某個表達式的值和類型,用var_dump()。 2.如果只是想得到一個易讀懂的類型的表達方式用於調試,用 gettype()。3.要查看某個類型,不要用 gettype(),而用is_type() 函數。字符串轉換爲數值當一個字符串被當作數字來求值時,根據以下規則來決定結果…
👁 233
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…
👁 41