PHP遍歷文件夾下所有文件

来源:https://www.cnblogs.com/cuiyuanxin/archive/2019/02/28/10453256.html
-Advertisement-
Play Games

不論是面試還是正常工作需要都會用到遍歷文件夾下的所有文件,今天就記錄一下筆記。廢話不多說直接上代碼: 運行結果: 源代碼已上傳GitHub:https://github.com/cuiyuanxin/php-demo/blob/master/dir.php 純手打筆記,如有錯誤請評論提出,謝謝。 ...


不論是面試還是正常工作需要都會用到遍歷文件夾下的所有文件,今天就記錄一下筆記。廢話不多說直接上代碼:

 1 <?php
 2 
 3 /**
 4 * 遍歷當前文件夾展示所有的文件和目錄
 5 */
 6 
 7 function dirList($dir_path = '') {
 8     if(is_dir($dir_path)) {
 9         $dirs = opendir($dir_path);
10         if($dirs) {
11             while(($file = readdir($dirs)) !== false) {
12                 if($file !== '.' && $file !== '..') {
13                     if(is_dir($file)) {
14                         echo $dir_path . '/' . $file . '<br>';
15                         dirList($dir_path . '/' . $file);
16                     } else {
17                         echo $dir_path . '/' . $file . '<br>';
18                     }
19                 }
20             }
21             closedir($dirs);
22         }
23     } else {
24         echo '目錄不存在!';
25     }
26 }
27 
28 dirList('/var/www/html/php-demo');
29 
30 function dir_list($dir) {
31     if(!is_dir($dir)) return false;
32     $dir_list = array();
33     $opendir = opendir($dir);
34     if($opendir) {
35         while(($file = readdir($opendir)) !== false) {
36             if($file !== '.' && $file !== '..') {
37                 $tem = $dir . '/' . $file;
38                 if(is_dir($tem)) {
39                     $dir_list[$tem . '/'] = $file . '/';
40                     dir_list($tem);
41                 } else {
42                     $dir_list[] = $file;
43                 }
44             }
45         }
46         closedir($opendir);
47         return $dir_list;
48     }
49 }
50 
51 $dir = dir_list('/var/www/html/php-demo');
52 var_dump($dir);

運行結果:

PHP遍歷文件夾下所有文件

 

源代碼已上傳GitHub:https://github.com/cuiyuanxin/php-demo/blob/master/dir.php

純手打筆記,如有錯誤請評論提出,謝謝。

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 大一生活真 特麽 ”豐富多彩“ ,多彩到我要忙到哭泣,身為班長,很多班級的事情需要管理,也是,什麼東西都得體驗學一學,從學生會主席、團委團總支、社團社長都體驗過一番了,現在差個班長也沒試過,就來體驗了一番哈哈哈,其實這種精心服務一個班級的人還是很棒的一種感覺呢。思考思考最近的任務啊: (1)英語劇 ...
  • 一等對象 什麼是一等對象: 在運行時創建 能賦值給變數或數據結構中的元素 能作為參數傳遞給函數 能作為函數的返回結果 python中的字元串,列表什麼的都是一等對象,但對如果之前只是使用c++、java語言的人們來說python中的函數也是一等對象,那一定會有一點不可思議 接下來就介紹一下這個一等對 ...
  • import java.sql.Connection; import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;imp ...
  • 作者:JavaGuide(公眾號) 下麵這些問題都是一線大廠的真實面試問題,不論是對你面試還是說拓寬知識面都很有幫助。之前發過一篇8 張圖讀懂大型網站技術架構 可以作為不太瞭解大型網站系統技術架構朋友的入門文章。 文章目錄1. 你使用過哪些組件或者方法來提升網站性能,可用性以及併發量2. 設計高可用 ...
  • 1.使用cookie代替session(不安全,不推薦使用) 2.使用資料庫存儲session(效率低,不推薦使用) 3.使用nginx反向代理ip綁定方法,同一個ip只能在同一臺伺服器上進行訪問(不推薦,相當於沒有集群)。 4.使用Spring-Session框架,相當於把session緩存到re ...
  • 音頻系統工具箱™針對實時音頻處理進行了優化。audioDeviceReader, audioDeviceWriter, audioPlayerRecorder, dsp.AudioFileReader和dsp.AudioFileWriter器是為流式傳輸多通道音頻而設計的, 它們提供了必要的參數, ...
  • import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement;import java.sql.SQLException;import java.sql.Timestamp;im ...
  • 寫過C/C++的同學都知道,調用著名的malloc和new函數可以在堆上分配一塊記憶體,這塊記憶體的使用和銷毀的責任都在程式員。一不小心,就會發生記憶體泄露,搞得膽戰心驚。切換到Golang後,基本不會擔心記憶體泄露了。雖然也有new函數,但是使用new函數得到的記憶體不一定就在堆上。逃逸分析告訴你變數到底去... ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...