php中目录操作opendir()、readdir()及scandir()用法示例


Posted in PHP onJune 08, 2019

本文实例讲述了php中目录操作opendir()、readdir()及scandir()用法。分享给大家供大家参考,具体如下:

opendir(path,context)若成功,则该函数返回一个目录流,否则返回 false 以及一个 error。可以通过在函数名前加上 “@” 来隐藏 error 的输出。

readdir() 函数返回由 opendir() 打开的目录句柄中的条目。若成功,则该函数返回一个文件名,否则返回 false。

scandir() 函数返回一个数组,其中包含指定路径中的文件和目录。
若成功,则返回一个数组,若失败,则返回 false。如果 directory 不是目录,则返回布尔值 false

付上2段搜到的读取目录的代码,亲测有效

显示目录中文件名

// 打开目录,然后读取其内容
if (is_dir($dir)){
 if ($dh = opendir($dir)){
  while (($file = readdir($dh)) !== false){
   echo "filename:" . $file . "<br>";
  }
  closedir($dh);
 }
}

拷贝一个目录的文件到另一个目录

copy_dir($from_dir,$to_dir);
function copy_dir($from_dir,$to_dir){
  if(!is_dir($from_dir)){
    return false;
  }
  echo "\r\n from:",$from_dir,'---to',$to_dir;
  $from_files = scandir($from_dir);
  //如果不存在目标目录,则尝试创建
  if(!file_exists($to_dir)){
    @mkdir($to_dir);
  }
  if(!empty($from_files)){
    foreach ($from_files as $file){
      if($file == '.' || $file == '..' ){
        continue;
      }
      if(is_dir($from_dir.'/'.$file)){//如果是目录,则调用自身
        copy_dir($from_dir.'/'.$file,$to_dir.'/'.$file);
      }else{//直接copy到目标文件夹
        copy($from_dir.'/'.$file,$to_dir.'/'.$file);
      }
    }
  }
}

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

PHP 相关文章推荐
PHP 七大优势分析
Jun 23 PHP
火车采集器 免费版使出收费版本功能实现原理
Sep 17 PHP
php 无极分类(递归)实现代码
Jan 05 PHP
php生成数组的使用示例 php全组合算法
Jan 16 PHP
php中base64_decode与base64_encode加密解密函数实例
Nov 24 PHP
php将日期格式转换成xx天前的格式
Apr 16 PHP
PHP中把有符号整型转换为无符号整型方法
May 27 PHP
汇总PHPmailer群发Gmail的常见问题
Feb 24 PHP
Thinkphp自定义代码生成工具及用法说明(附下载地址)
May 27 PHP
利用PHP将图片转换成base64编码的实现方法
Sep 13 PHP
PHP基于curl post实现发送url及相关中文乱码问题解决方法
Nov 25 PHP
PHP中十六进制颜色与RGB颜色值互转的方法
Mar 18 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
PHP token验证生成原理实例分析
Jun 05 #PHP
You might like
PHP中显示格式化的用户输入
2006/10/09 PHP
Linux下安装oracle客户端并配置php5.3
2014/10/12 PHP
避免Smarty与CSS语法冲突的方法
2015/03/02 PHP
Yii框架上传图片用法总结
2016/03/28 PHP
PHP list() 将数组中的值赋给变量的简单实例
2016/06/13 PHP
浅谈PHP中的错误处理和异常处理
2017/02/04 PHP
Ecshop 后台添加新功能栏目及管理权限设置教程
2017/11/21 PHP
HTML代码中标签的全部属性 中文注释说明
2009/03/26 Javascript
js数字输入框(包括最大值最小值限制和四舍五入)
2009/11/24 Javascript
ajax 同步请求和异步请求的差异分析
2011/07/04 Javascript
用Javascript实现Windows任务管理器的代码
2012/03/27 Javascript
jQuery-serialize()输出序列化form表单值的方法
2012/12/26 Javascript
javascript实现验证身份证号的有效性并提示
2015/04/30 Javascript
JS判断页面是否出现滚动条的方法
2015/07/17 Javascript
jquery点击缩略图切换视频播放特效代码分享
2015/09/15 Javascript
关于foreach循环中遇到的问题小结
2017/05/08 Javascript
vue-router中的hash和history两种模式的区别
2018/07/17 Javascript
javascript中的event loop事件循环详解
2018/12/14 Javascript
JavaScript点击按钮生成4位随机验证码
2021/01/28 Javascript
[36:14]DOTA2上海特级锦标赛D组小组赛#1 EG VS COL第二局
2016/02/28 DOTA
PyQt5每天必学之弹出消息框
2018/04/19 Python
python判断字符串或者集合是否为空的实例
2019/01/23 Python
在Python 中实现图片加框和加字的方法
2019/01/26 Python
python集合是否可变总结
2019/06/20 Python
Python API自动化框架总结
2019/11/12 Python
Python 寻找局部最高点的实现
2019/12/05 Python
python操作微信自动发消息的实现(微信聊天机器人)
2020/07/14 Python
深入了解Python 变量作用域
2020/07/24 Python
Python Matplotlib绘图基础知识代码解析
2020/08/31 Python
详解使用CSS3的@media来编写响应式的页面
2017/11/01 HTML / CSS
纯css3制作的火影忍者写轮眼开眼至轮回眼及进化过程实例
2014/11/11 HTML / CSS
美国购买舞会礼服网站:Couture Candy
2019/12/29 全球购物
小学生自我评价范例
2013/09/24 职场文书
网络教育自我鉴定
2013/11/01 职场文书
2015年事业单位办公室文员工作总结
2015/04/24 职场文书
MySQL中你可能忽略的COLLATION实例详解
2021/05/12 MySQL