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合并数组array_merge函数运算符加号与的区别
Oct 31 PHP
PHP判断搜索引擎蜘蛛并自动记忆到文件的代码
Feb 04 PHP
php实现文件下载(支持中文文名)
Dec 04 PHP
PHP三元运算的2种写法代码实例
May 12 PHP
PHP+iFrame实现页面无需刷新的异步文件上传
Sep 16 PHP
解决phpcms更换javascript的幻灯片代码调用图片问题
Dec 26 PHP
thinkPHP连接sqlite3数据库的实现方法(附Thinkphp代码生成器下载)
May 27 PHP
实例讲解PHP页面静态化
Feb 05 PHP
PHP多维数组指定多字段排序的示例代码
May 16 PHP
php反射学习之依赖注入示例
Jun 14 PHP
php实现 master-worker 守护多进程模式的实例代码
Jul 20 PHP
TP5框架页面跳转样式操作示例
Apr 05 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 和 MySQL 基础教程(四)
2006/10/09 PHP
dedecms模板标签代码官方参考
2007/03/17 PHP
php中substr()函数参数说明及用法实例
2014/11/15 PHP
PHP递归实现汉诺塔问题的方法示例
2017/11/25 PHP
JavaScript 保存数组到Cookie的代码
2010/04/14 Javascript
基于jquery1.4.2的仿flash超炫焦点图播放效果
2010/04/20 Javascript
屏蔽F1~F12的快捷键的js函数
2010/05/06 Javascript
js实现倒计时时钟的示例代码
2013/12/17 Javascript
javascript基础知识
2016/06/07 Javascript
AngularJS定时器的使用与移除操作方法【interval与timeout】
2016/12/14 Javascript
vue.js实现数据动态响应 Vue.set的简单应用
2017/06/15 Javascript
JavaScript调试之console.log调试的一个小技巧分享
2017/08/07 Javascript
webpack3+React 的配置全解
2017/08/21 Javascript
angularjs实现时间轴效果的示例代码
2017/11/29 Javascript
mpvue 单文件页面配置详解
2018/12/02 Javascript
js实现图片跟随鼠标移动效果
2019/10/16 Javascript
原生js实现表格循环滚动
2020/11/24 Javascript
JavaScript 绘制饼图的示例
2021/02/19 Javascript
JavaScript实现H5接金币功能(实例代码)
2021/02/22 Javascript
TensorFlow实现卷积神经网络
2018/05/24 Python
python3 flask实现文件上传功能
2020/03/20 Python
解决Python pandas plot输出图形中显示中文乱码问题
2018/12/12 Python
Django 对IP访问频率进行限制的例子
2019/08/30 Python
解决pycharm安装第三方库失败的问题
2020/05/09 Python
Python 实现3种回归模型(Linear Regression,Lasso,Ridge)的示例
2020/10/15 Python
软件测试面试题
2015/10/21 面试题
期末总结的个人自我评价
2013/11/02 职场文书
金融专业推荐信
2013/11/14 职场文书
实习鉴定范文
2013/12/19 职场文书
英文导游欢迎词
2014/01/11 职场文书
健康家庭事迹材料
2014/05/02 职场文书
市场营销专业应届生自荐信
2014/06/19 职场文书
高中生第一学年自我鉴定
2014/09/12 职场文书
走群众路线学习心得体会
2014/10/31 职场文书
公司禁烟通知
2015/04/23 职场文书
js前端图片加载异常兜底方案
2022/06/21 Javascript