簡體   English   中英

遞歸目錄searcer PHP

[英]Recursive directory searcer PHP

我如何編寫一個帶有geven字符串並返回整個路徑以及php中文件名的遞歸目錄搜索器?

php函數dir將為您提供幫助。

http://php.net/manual/en/class.dir.php

在文檔的注釋中有一個示例(由在線論壇點網的sojka撰寫)顯示了執行此操作的過程,我在下面包括了...

<?php
public static function getTreeFolders($sRootPath = UPLOAD_PATH_PROJECT, $iDepth = 0) {
      $iDepth++;
      $aDirs = array();
      $oDir = dir($sRootPath);
      while(($sDir = $oDir->read()) !== false) {
        if($sDir != '.' && $sDir != '..' && is_dir($sRootPath.$sDir)) {
          $aDirs[$iDepth]['sName'][] = $sDir;
          $aDirs[$iDepth]['aSub'][]  = self::getTreeFolders($sRootPath.$sDir.'/',$iDepth);
        }
      }
      $oDir->close();
      return empty($aDirs) ? false : $aDirs;
}
?>

同一頁面上還有許多其他人的其他類似示例,因此請找到您喜歡的示例並從那里開始...

您可以使用RecursiveDirectoryIterator遍歷目錄。 看這個:

$search_query = "test";
$directory = new RecursiveDirectoryIterator('/path/');
$iterator = new RecursiveIteratorIterator($directory);
$result = new RegexIterator($iterator, '/^.+\'.$search_query.'$/i', RecursiveRegexIterator::GET_MATCH);

然后, (array) $result通常應包含在“ / path /”下找到“ test”的所有文件名。

希望能幫助到你 ;)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM