Php 递归浏览目录并获取文件名
我必须做一个php脚本谁浏览与子目录目录目录。 对于每个子目录,可能还有子目录,我必须得到filename和他的父目录 你有一个简单的解决办法吗?Php 递归浏览目录并获取文件名,php,Php,我必须做一个php脚本谁浏览与子目录目录目录。 对于每个子目录,可能还有子目录,我必须得到filename和他的父目录 你有一个简单的解决办法吗? 谢谢我不是100%确定你在问什么,但是如果你看一下第一条评论,它有一个非常有用的递归扫描功能 <?php function dirToArray($dir) { $result = array(); $cdir = scandir($dir); foreach ($cdir as $key =&g
谢谢我不是100%确定你在问什么,但是如果你看一下第一条评论,它有一个非常有用的递归扫描功能
<?php
function dirToArray($dir) {
$result = array();
$cdir = scandir($dir);
foreach ($cdir as $key => $value)
{
if (!in_array($value,array(".","..")))
{
if (is_dir($dir . DIRECTORY_SEPARATOR . $value))
{
$result[$value] = dirToArray($dir . DIRECTORY_SEPARATOR . $value);
}
else
{
$result[] = $value;
}
}
}
return $result;
}
?>
因为我也必须为我的网站创建相同的功能,所以我将发布我的功能作为参考
function recursiveFileSearch($path, $searchmask = "*") {
$path = rtrim($path, '/');
$files = array();
if(is_array($searchmask)) {
for($i = 0; $i < count($searchmask); $i++) {
$files = array_merge($files, glob($path.'/'.$searchmask[$i]));
}
sort($files);
} else {
$files = glob($path.'/'.$searchmask);
}
$dirs = glob($path.'/*', GLOB_ONLYDIR);
foreach($dirs as $dir) {
if(is_dir($dir)) {
$files = array_merge($files, recursiveFileSearch($dir, $searchmask));
}
}
sort($files);
return $files;
}
谢谢我会试试这个解决方案!
function recursiveFileSearch($path, $searchmask = "*") {
$path = rtrim($path, '/');
$files = array();
if(is_array($searchmask)) {
for($i = 0; $i < count($searchmask); $i++) {
$files = array_merge($files, glob($path.'/'.$searchmask[$i]));
}
sort($files);
} else {
$files = glob($path.'/'.$searchmask);
}
$dirs = glob($path.'/*', GLOB_ONLYDIR);
foreach($dirs as $dir) {
if(is_dir($dir)) {
$files = array_merge($files, recursiveFileSearch($dir, $searchmask));
}
}
sort($files);
return $files;
}