日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

php 文件查找类,PHP类搜索定位目录树的具体实现方式解析

發布時間:2024/8/5 php 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php 文件查找类,PHP类搜索定位目录树的具体实现方式解析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

大家現在也許對PHP語言比較感興趣,因為它能夠幫助我們很輕松的建設一個功能強大的網站。今天我們將向大家介紹的是有關PHP類搜索定位目錄樹的方法。大多數時候,在嵌套的PHP結 構里進行迭代需要你寫出能夠一個按順序穿過層級、并檢查其中每一個元素的遞歸函數。

File_Find類是為了能讓你真 正做好兩件事情而設計的。***,它可以讓你掃描一個目錄樹,然后將其轉換成為PHP結構——一個嵌套的數組——它反映了原始層級的父子關系。第二,它可以 讓你在一個目錄樹下搜索一個或多個類型相匹配的文件。這種類型可以是一個簡單的字符串,也可以是一個復雜的Perl規則的表達式;File_Find能夠 處理上述兩種中的任意一種格式,并將返回一個包括了每一對的詳細文件和路徑信息的數組。

一開始,手動安裝程序包,你可以下載它,然后將其內容提取到PEAR根目錄下,也可以利用PEAR安裝程序。

接下來,創建以下PHP腳本(列表A),并將它保存在你的Web服務器的文件根目錄下:

PHP類搜索定位目錄樹列表A

//?include?class

include(”Find.php”);

//?initialize?finder

$finder=newFile_Find();

//?read?directory?tree?and?print

$tree=?$finder->mapTree(”/tmp”);

print_r($tree);

?>

在此,我初始化了一個新的File_Find()對象, 并用一個目錄路徑調用其mapTree()方法。mapTree()方法讀取指定的目錄,然后產生它的一個兩元素的層級結構“數組表(array map)”。此數組中***個元素列出了所找到的所有目標目錄下的子目錄,而第二個元素列出了找到的所有文件。然后就有可能掃描這些序列,在應用程序中使用 它們了——例如,重建目錄樹,或者在自定義標準的基礎上篩選文件和目錄。

列表B是以上腳本輸出的一個例子:

PHP類搜索定位目錄樹列表B

Array

(

[0]?=>Array

(

[0]?=>/tmp

[1]?=>/tmp/dummyA

[2]?=>/tmp/dummyB

[3]?=>/tmp/dummyA/dummyC

)

[1]?=>Array

(

[0]?=>/tmp/data.txt

[1]?=>/tmp/dummyB/metoo.mp3

[2]?=>/tmp/dummyB/track.dat

[3]?=>/tmp/dummyA/dummyC/parrot.gif

)

)

你也可以用另一種方式,用mapTreeMultiple()方法,它遞歸讀取指定的目錄,產生一個復制其樹形結構的嵌套數組。列表C為你展示了一個例子。

PHP類搜索定位目錄樹列表C

//?include?class

include(”Find.php”);

//?initialize?finder

$finder=newFile_Find();

//?print?recursive?directory?tree

$tree=?$finder->mapTreeMultiple(”/tmp”);

print_r($tree);

?>

列表D顯示了輸出結果:

PHP類搜索定位目錄樹列表D

Array

(

[0]?=>data.txt

[dummyA]?=>Array

(

[dummyC]?=>Array

(

[0]?=>parrot.gif

)

)

[dummyB]?=>Array

(

[0]?=>metoo.mp3

[1]?=>track.dat

)

)

提示:你可以給mapTreeMultiple()加上一個可選的參數,限定它在執行遞歸時向下查詢的層數。

用glob()方法,你可以在指定目錄下搜索與特定Perl兼容型的規則表達式匹配的文件。請看一下列表E。

PHP類搜索定位目錄樹列表E

//?include?class

include(”Find.php”);

//?initialize?finder

$finder=newFile_Find();

//?search?for?matching?files?in?named?directory

$results=?$finder->glob(”/mp3/i”,?“/usr/local/stuff”,?“perl”);

print_r($results);

?>

在這里,glob()方法訪問指定目錄下所有名稱中帶有字符串mp3的文件。注意我對修飾符i的使用,它使得搜索沒有大小寫之分,還有我使用了第三個自變量,告訴類要使用Perl regex函數,而不是默認的PHP函數。

File_Find類由于它的search()方法而真正發揮作用起來,這個方法結合了mapTreeMultiple()和glob()方法的能力進行多層目錄搜索。列表F中是一個例子。

PHP類搜索定位目錄樹列表F

//?include?class

include(”Find.php”);

//?initialize?finder

$finder=newFile_Find();

//?search?for?matching?files

//?in?named?directory?and?subdirectories

$results=?$finder->search(”/exe/i”,?“/usr/local/winstuff”,?“perl”);

print_r($results);

?>

列表G顯示了輸出的一個樣本:

PHP類搜索定位目錄樹列表G

Array

(

[0]?=>/usr/local/winstuff/4HELP.EXE

[1]?=>/usr/local/winstuff/ARJ.EXE

[2]?=>/usr/local/winstuff/bzip2.exe

[3]?=>/usr/local/winstuff/CRLF.EXE

[4]?=>/usr/local/winstuff/DECODE.EXE

[5]?=>/usr/local/winstuff/GREP.EXE

[6]?=>/usr/local/winstuff/GPG/gpg.exe

[7]?=>/usr/local/winstuff/GPG/uninst-gnupg.exe

[8]?=>/usr/local/winstuff/GPG/WinPT.exe

[9]?=>/usr/local/winstuff/Fprot/F-PROT.EXE

)

這就是你的遞歸目錄查詢,僅僅只有四行代碼!

正如你所看到的那樣,File_Find使得簡單有效地完成一個相對復雜的任務成為可能,而且你會感到最小的壓力,這也就是我為什么極力向你推薦它的原因。下次當你需要在PHP類搜索定位目錄樹上執行一個文件查找操作時,不妨你自己嘗試一下。祝你編程快樂!

【責任編輯:曹凱 TEL:(010)68476606】

點贊 0

總結

以上是生活随笔為你收集整理的php 文件查找类,PHP类搜索定位目录树的具体实现方式解析的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 偷拍视频一区 | 一边摸一边抽搐一进一出视频 | 亚洲人交配视频 | 少妇一级淫免费观看 | 国产成a人亚洲精v品在线观看 | 瑟瑟视频在线 | 艳母日本动漫在线观看 | 亚洲男人天堂2022 | 亚洲一区自拍偷拍 | 亚洲videos | 高清无码一区二区在线观看吞精 | 成人六区 | 午夜免费网 | 三点尽露的大尺度国产 | 欧美国产91| 天堂影音| 丰满人妻一区二区三区53号 | 亚洲精品成人影视 | 黄色一级片在线看 | 老司机福利精品 | 日韩精品在线一区二区 | 色欲久久久天天天综合网精品 | 欧美成人aaa片一区国产精品 | 娇妻玩4p被三个男人伺候电影 | 麻豆免费看片 | 国产网站在线 | 三级欧美韩日大片在线看 | 欧美天天性 | 亚洲激情一区二区三区 | 亚洲午夜在线观看 | 午夜精品福利电影 | 播放男人添女人下边视频 | 日韩精品一区二区三区丰满 | 青青国产在线视频 | 国产精品成人av性教育 | 日韩一区二区三区四区五区 | 亚洲欧美视频一区 | 在线看片网站 | 污网在线看 | 精品国产18久久久久久 | 亚洲a级在线观看 | 色漫| 激情四射综合网 | 中文字幕日韩在线观看 | 高h文在线 | 一区二区三区高清在线 | 国产一区高清 | 99久精品| 91国产丝袜在线播放 | 777午夜| 69av导航 | 激情五月婷婷综合网 | 精品人妻一区二区免费视频 | 99精品福利 | 中文天堂在线播放 | 后入内射无码人妻一区 | 18做爰免费视频网站 | 青青青在线视频免费观看 | 国产aⅴ爽av久久久久成人 | 亚洲欧美中文字幕5发布 | jizz国产视频| 午夜精品久久久久久久蜜桃 | 国产精品久久久久久久久久 | 老汉色老汉首页av亚洲 | 成人影视网址 | 一区二区乱子伦在线播放 | 欧美在线色 | 好吊视频一区二区 | 国产床上视频 | 亚洲高清不卡 | 一道本av | 久久精品免费观看 | 天天爽 | 麻豆免费av| 制服丝袜av在线播放 | 国产资源免费 | 日韩视频播放 | 国产视频1区 | 青草视频在线观看视频 | 最新黄色av网址 | 久久精品国产清自在天天线 | 欧美视频日韩 | 波多野结衣电车痴汉 | 天天看av | 久久国产视频一区 | 欧美jizz18性欧美 | 亚洲精品乱码久久久久久日本蜜臀 | 99热免费 | 一区二区自拍偷拍 | 三级视频国产 | 久久久欧洲 | 天堂在线视频免费 | 日韩一区二区三区免费视频 | 青青青青操 | 日本视频中文字幕 | 一区二区三区激情视频 | 国产精品高潮呻吟久久aⅴ码 | 亚洲精品一二三四 | 肥臀浪妇太爽了快点再快点 |