function myscandir($pathname){

foreach( glob($pathname) as $filename ){

if(is_dir($filename)){

myscandir($filename.'/*');

}else{

echo $filename.'

';

}

}

}

myscandir('D:/wamp/www/exe1/*');

?>复制代码

2. 方法2

function 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非递归算法遍历目录的例子相关推荐

  1. C/C++ 二叉树的非递归遍历(前序、中序、后序非递归遍历)

     二叉树的非递归遍历C/C++实现:   非递归先序遍历代码: void PreOrderTraversal (struct tree* root) { //非递归先序遍历struct tree* t ...

  2. linux如何查看指定目录下文件内容,Linux 系统下通过关键词查找指定目录下的文件内容...

    #!/bin/bash # 作者:靑龍一笑(C.S.Ricen) # 功能:根据指定的关键词,查找指定目录下的文件内容 # 要查找的目录 Search_Dir=/opt/datas/ # 关键字列表 ...

  3. linux 往共享目录写文件 权限,在 Linux 上给用户赋予指定目录的读写权限

    在上篇文章中我们向您展示了如何在 Linux 上创建一个共享目录.这次,我们会为您介绍如何将 Linux 上指定目录的读写权限赋予用户. 有两种方法可以实现这个目标:第一种是 使用 ACL (访问控制 ...

  4. C++非递归算法遍历二叉链表

    递归的二叉链表遍历基于类自身函数的自我调用,而二叉链表的非递归操作,基于栈的入栈与弹栈.将中序遍历作为例子:指针访问到结点后,应先记住结点数值入栈,再往左边便利.假如指针为空,弹栈,最后将指针赋值给右 ...

  5. 代码行统计工具:根据命令行输入的指定目录及文件类型进行统计目录或单个文件的代码行数

    #统计指定目录(count_path).指定文件类型文件(file_types)的代码量 import os def count_all_file_code(count_path,file_types ...

  6. 文件个数java_java程序统计某个目录的文件的个数

    java统计某个文件夹下面的.txt文件的个数(递归) java怎么才能统计某个文件夹下面的指定类型的文件个数,我们可以通过 java 的 File 类加上递归来实现遍历操作! 想到删除指定类型的文件 ...

  7. php实训ppt,PHP动态网站开发实例教程教学全套课件(刘万辉)配套资料 任务3:运用目录与文件实现投票统计.ppt...

    PHP动态网站开发实例教程教学全套课件(刘万辉)配套资料 任务3:运用目录与文件实现投票统计.ppt (18页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! ...

  8. C# 使用 DirectoryInfo 递归指定目录中的所有目录及文件

    从这里就不再写命名空间以及类名了,直接写主要方法,如果不会或不记得命名空间及类名怎么写请返回前几篇文章查阅 这里看一个方法 public static void GetAllFile(string p ...

  9. tftp 查看服务器文件,如何从命令提示符列出Windows tftp服务器目录和文件?

    搜索热词 我已在 Windows 7中安装了Tftpd32软件.我在我的Windows PC上运行tftp服务器和tftp主目录有几个目录和文件.我必须从Windows命令提示符显示tftp服务器目录 ...

最新文章

  1. with as递归调用
  2. Openstack 小知识点
  3. 我的名片能运行Linux和Python,还能玩2048小游戏,成本只要20元
  4. Lambda表达式很鸡肋?它到底有何用呢?
  5. 【NLP】经典分类模型朴素贝叶斯解读
  6. 克隆 Linux系统盘,linux系统克隆系统盘
  7. leetcode43. 字符串相乘 经典大数+和*
  8. linux的shell命令 a,linux shell命令大全(都是随堂笔记)
  9. Nt/2000/xp平台下的存储控制模型(Access Control Model)
  10. 11. 配置ZooKeeper ensemble
  11. 【Linux】Shell 时间运算以及时间差计算方法!
  12. linux apache
  13. 《流程的永恒之道:工作流及BPM技术的理论、规范、模式及最佳实践》书籍导读
  14. 通信接口:UART、I2C、SPI、TTL、RS232、RS422、RS485、CAN、USB
  15. 数据恢复哪家强?四大数据恢复类软件评测
  16. 【答读者问16】回测的时候,价格是使用哪一种复权方式(前复权、后复权与不复权)
  17. 不用安装Wincap程序实现ARP广播包的发送和接收
  18. 大数据006——Zookeeper
  19. 开发过程问题汇总(不断更新)
  20. linux下删除u盘分区工具,如何删除U盘中的CDFS分区-

热门文章

  1. Git添加多个SSH key公钥
  2. WAMP的多站点配置
  3. Pomelo:网易开源基于 Node.js 的游戏服务端框架
  4. 有n 个长为m+1 的字符串,求前后m个字符匹配所能形成的最长字符串链:利用弗洛伊德算法求最长路径...
  5. BasicExcel CSpreadSheet 使用感受
  6. 吴裕雄--天生自然 高等数学学习:两类曲线积分之间的联系
  7. 开启springboot中对jsp页面修改后的热部署
  8. (47)LINUX应用编程和网络编程之二Linux文件属性
  9. eclipse中设定文档注释
  10. 软件测试工程师面试必备技能