php使用scandir()函数扫描指定目录下所有文件示例


Posted in PHP onJune 08, 2019

本文实例讲述了php使用scandir()函数扫描指定目录下所有文件。分享给大家供大家参考,具体如下:

//遍历子文件夹和文件夹的内容 并且计算出文件的多少
//一个demo 引号替换下
function scan($dir){
  static $i=0;
  static $d=0;
  $dirArr = scandir('.');
  foreach($dirArr as $v){
   if($v!='.' && $v!='..'){
     $dirname = $dir."\\".$v; //子文件夹的目录地址
    if(is_dir($dirname)){
   $count['dir'] = ++$d;
     scan($dirname);
    }
    $count['file'] = ++$i;
   }
  }
  return $count;
}
$count = scan('.');
echo "一共文件{$count['file']}个,文件夹 {$count['dir']}个 ";

文件的类别

//针对当前目录的情况下
$dir = scandir('.');
foreach($dir as $v){
  $base = strrchr($v,'.');
  if($v!='.'){
  if($v == '..'){
   $type ='上级目录';
  }
  //类型不一一举例
  if(is_dir($v)){
   $type ='目录';
  }elseif($base== '.jpg' || $base=='.gif'){
   $type =' 图片文件';
  }elseif($base== '.rar' || $base=='.zip'){
   $type =' 压缩文件';
  }else{
   $type="文件";
  }
  }
}

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
文章推荐系统(三)
Oct 09 PHP
IIS6.0+PHP5.x+MySQL5.x+Zend3.0x+GD+phpMyAdmin2.8x通用安装实例(已经完成)
Dec 06 PHP
PHP程序员编程注意事项
Apr 10 PHP
Discuz 模板引擎的封装类代码
Jul 18 PHP
《PHP编程最快明白》第八讲:php启发和小结
Nov 01 PHP
PHP循环遍历数组的3种方法list()、each()和while总结
Nov 19 PHP
PHP实现递归目录的5种方法
Oct 27 PHP
php实现与python进行socket通信的方法示例
Aug 30 PHP
PHP PDOStatement::nextRowset讲解
Feb 01 PHP
yii2 开发api接口时优雅的处理全局异常的方法
May 14 PHP
Thinkphp5框架简单实现钩子(Hook)行为的方法示例
Sep 03 PHP
laravel数据库查询结果自动转数组修改实例
Feb 27 PHP
php中目录操作opendir()、readdir()及scandir()用法示例
Jun 08 #PHP
php中字符串和整数比较的操作方法
Jun 06 #PHP
使用PHPWord生成word文档的方法详解
Jun 06 #PHP
php/JS实现的生成随机密码(验证码)功能示例
Jun 06 #PHP
PHP实现的62进制转10进制,10进制转62进制函数示例
Jun 06 #PHP
PHP cookie,session的使用与用户自动登录功能实现方法分析
Jun 05 #PHP
PHP实现获取url地址中顶级域名的方法示例
Jun 05 #PHP
You might like
mysql建立外键
2006/11/25 PHP
笑谈配置,使用Smarty技术
2007/01/04 PHP
[原创]解决wincache不支持64位PHP5.5/5.6的问题(提供64位wincache下载)
2016/06/22 PHP
php正则修正符用法实例详解
2016/12/29 PHP
laravel5表单唯一验证的实例代码
2019/09/30 PHP
laravel框架中表单请求类型和CSRF防护实例分析
2019/11/23 PHP
php数组函数array_push()、array_pop()及array_shift()简单用法示例
2020/01/26 PHP
LazyForm jQuery plugin 定制您的CheckBox Radio和Select
2009/10/24 Javascript
一个收集图片的bookmarlet(js 刷新页面中的图片)
2010/05/27 Javascript
JSF中confirm弹出框的用法示例介绍
2014/01/07 Javascript
jQuery队列操作方法实例
2014/06/11 Javascript
详解JavaScript 中的 replace 方法
2016/01/01 Javascript
jQuery中的insertBefore(),insertAfter(),after(),before()区别介绍
2016/09/01 Javascript
Angular2表单自定义验证器的实现
2016/10/19 Javascript
Vue实现百度下拉提示搜索功能
2017/06/21 Javascript
VUE中使用Vue-resource完成交互
2017/07/21 Javascript
利用JS响应式修改vue实现页面的input值
2019/09/02 Javascript
微信小程序和H5页面间相互跳转代码实例
2019/09/19 Javascript
原生JavaScript实现的无缝滚动功能详解
2020/01/17 Javascript
jQuery插件simplePagination的使用方法示例
2020/04/28 jQuery
Js on及addEventListener原理用法区别解析
2020/07/11 Javascript
[15:09]DOTA2国际邀请赛采访专栏:Loda
2013/08/06 DOTA
[01:21:36]CHAOS vs Alliacne 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
[05:11]TI9战队采访——VIRTUSPRO
2019/08/22 DOTA
python 反向输出字符串的方法
2018/07/16 Python
Python3实现的旋转矩阵图像算法示例
2019/04/03 Python
使用 Django Highcharts 实现数据可视化过程解析
2019/07/31 Python
Python 实例方法、类方法、静态方法的区别与作用
2019/08/14 Python
老海军美国官网:Old Navy
2016/09/05 全球购物
祖国在我心中的演讲稿
2014/05/04 职场文书
汉语专业毕业生自荐信
2014/07/06 职场文书
教师师德师风自我剖析材料
2014/09/29 职场文书
患者身份识别制度
2015/08/06 职场文书
2016元旦文艺汇演主持词(开场白+结束语)
2015/12/03 职场文书
Mysql中 unique列插入重复值该怎么解决呢
2021/05/26 MySQL
入门学习Go的基本语法
2021/07/07 Golang