概述
function myscandir($pathname){
foreach( glob($pathname) as $filename ){
if(is_dir($filename)){
myscandir($filename.'/*');
}else{
echo $filename.'
';
}
}
}
myscandir('D:/wamp/www/exe1/*');
?>
2. 方法2function myscandir($path){
$mydir=dir($path);
while($file=$mydir->read()){
$p=$path.'/'.$file;
if(($file!=".") AND ($file!="..")){
echo $p.'
';
}
if((is_dir($p)) AND ($file!=".") AND ($file!="..")){
myscandir($p);
}
}
}
myscandir(dirname(dirname(__FILE__)));
?>
二、php目录遍历函数opendir用法
opendir()函数的作用:
打开目录句柄,如果该函数成功运行,将返回一组目录流(一组目录字符串),如果失败将返回错误[error],你可以在函数的最前面加上“@”来隐藏错误.
syntax语法:opendir(directory,context) parameter
参数:description
描述:directory required. specifies the directory to stream
必要参数,指定目录对象,可选参数,指定需要处理的目录对象的context,这个context包括了一组选项,它可以对文本流的显示方式进行改变。
代码:$dir = "./";
// open a known directory, and proceed to read its contents
if (is_dir($dir))
{
if ($dh = opendir($dir)) {
while (($file = readdir($dh)) !== false) {
echo "filename: $file : filetype: " . filetype($dir . $file) . "n"."
";
}
closedir($dh);
}
}
?>
三、php非递归算法遍历目录下所有文件
php不用递归实现列出目录下所有文件的代码
代码:/**
* PHP 非递归实现查询该目录下所有文件
* @param unknown $dir
* @return multitype:|multitype:string
*/
function scanfiles($dir) {
if (! is_dir ( $dir ))
return array ();
// 兼容各操作系统
$dir = rtrim ( str_replace ( '\', '/', $dir ), '/' ) . '/';
// 栈,默认值为传入的目录
$dirs = array ( $dir );
// 放置所有文件的容器
$rt = array ();
do {
// 弹栈
$dir = array_pop ( $dirs );
// 扫描该目录
$tmp = scandir ( $dir );
foreach ( $tmp as $f ) {
// 过滤. ..
if ($f == '.' || $f == '..')
continue;
// 组合当前绝对路径
$path = $dir . $f;
// 如果是目录,压栈。
if (is_dir ( $path )) {
array_push ( $dirs, $path . '/' );
} else if (is_file ( $path )) { // 如果是文件,放入容器中
$rt [] = $path;
}
}
} while ( $dirs ); // 直到栈中没有目录
return $rt;
}
最后
以上就是冷艳荷花为你收集整理的php 里面如何遍历目录,php如何遍历目录,php非递归算法遍历目录的例子的全部内容,希望文章能够帮你解决php 里面如何遍历目录,php如何遍历目录,php非递归算法遍历目录的例子所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复