PHP批次修改檔案名稱的方法
本文實例敘述了PHP批次修改檔案名稱的方法。分享給大家供大家參考,具體如下:
在這裡我們利用一個戰地自己寫的一個例子來具體分析一下利用PHP批量修改文件名稱的思路和注意事項。
從這個例子裡你將會看到,PHP如何判斷一個路徑是不是目錄,如何用PHP取得路徑中的檔案名稱和檔案的副檔名,隨機函數rand的基本應用,以及這個程式的核心內容遞歸函數的基本應用。
程式功能:利用PHP目錄和檔案函數遍歷使用者給予目錄的所有的檔案和資料夾,修改檔案名稱;
先判斷使用者給予的目錄是不是一個合法目錄;
我們這裡只是修改狹義的檔案名稱(不包括目錄),所以在程式中一定要判斷是不是目錄,如果是目錄我們就打開這個目錄-從而實現遍歷目錄下的所有檔案。如果不是我們就用一個隨機的名稱修改原來的檔案名稱(用隨機數字做名稱其實不科學,但這不是我們的重點)。
具體的程式如下:
<?php //利用PHP目录和文件函数遍历用户给出目录的所有的文件和文件夹,修改文件名称 function fRename($dirname){ if(!is_dir($dirname)){ echo "{$dirname}不是一个有效的目录!"; exit(); } $handle = opendir($dirname); while(($fn = readdir($handle))!==false){ if($fn!='.'&&$fn!='..'){ $curDir = $dirname.'/'.$fn; if(is_dir($curDir)){ fRename($curDir); } else{ $path = pathinfo($curDir); $newname = $path['dirname'].'/'.rand(0,100).'.'.$path['extension']; rename($curDir,$newname); echo $curDir.'---'.$newname."<br>"; } } } } //给出一个目录名称调用函数 fRename('pl'); ?>
#程式分析:
##第4行我們用is_dir函數來判斷使用者給予的目錄是不是一個有效的目錄名稱;因為我們是學習所以寫的簡單一點如果你要放在伺服器上供大家使用的話,你一定要謹慎的驗證這個輸入資料-例如,這個目錄是否允許使用者修改等等…注意函數第9行的判斷,必須用全等判斷(PHP全等符號===三個等號,不全等!==一個嘆號兩個等號),否則如果有一個檔案名稱為0(零),會導致程式意外終止;第12行,如果讀取的檔案是目錄,就在此呼叫函數本身,實作函數的遞歸;注意第16行pathinfo函數的用法,這個函數回傳一個擁有三個元素的陣列三個元素分別是:Dirname路徑的目錄名稱,basename路徑包含的檔案名稱和extension檔案的副檔名,具體這個函數的用法請參考手冊相關部分。 在程式的17行中,使用了PHP的隨機數字函數rand,這是個基本的隨機函數注意事項:一定要判斷用PHP 的readdir函數讀取的檔案名稱是不是”.”和”..」這很重要,為什麼?你可以試試看呢!
更多PHP批量修改檔案名稱的方法相關文章請關注PHP中文網!
熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

JWT是一種基於JSON的開放標準,用於在各方之間安全地傳輸信息,主要用於身份驗證和信息交換。 1.JWT由Header、Payload和Signature三部分組成。 2.JWT的工作原理包括生成JWT、驗證JWT和解析Payload三個步驟。 3.在PHP中使用JWT進行身份驗證時,可以生成和驗證JWT,並在高級用法中包含用戶角色和權限信息。 4.常見錯誤包括簽名驗證失敗、令牌過期和Payload過大,調試技巧包括使用調試工具和日誌記錄。 5.性能優化和最佳實踐包括使用合適的簽名算法、合理設置有效期、

文章討論了PHP 5.3中介紹的PHP中的晚期靜態結合(LSB),允許靜態方法的運行時間分辨率調用以更靈活的繼承。 LSB的實用應用和潛在的觸摸

SOLID原則在PHP開發中的應用包括:1.單一職責原則(SRP):每個類只負責一個功能。 2.開閉原則(OCP):通過擴展而非修改實現變化。 3.里氏替換原則(LSP):子類可替換基類而不影響程序正確性。 4.接口隔離原則(ISP):使用細粒度接口避免依賴不使用的方法。 5.依賴倒置原則(DIP):高低層次模塊都依賴於抽象,通過依賴注入實現。

使用PHP的cURL庫發送JSON數據在PHP開發中,經常需要與外部API進行交互,其中一種常見的方式是使用cURL庫發送POST�...

如何在系統重啟後自動設置unixsocket的權限每次系統重啟後,我們都需要執行以下命令來修改unixsocket的權限:sudo...
