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 07 PHP
有关PHP中MVC的开发经验分享
May 17 PHP
Smarty局部缓存的几种方法简介
Jun 17 PHP
php可生成缩略图的文件上传类实例
Dec 17 PHP
phpcms手机内容页面添加上一篇和下一篇
Jun 05 PHP
利用“多说”制作留言板、评论系统
Jul 14 PHP
joomla数据库操作示例代码
Jan 06 PHP
thinkPHP+PHPExcel实现读取文件日期的方法(含时分秒)
Jul 07 PHP
php使用str_shuffle()函数生成随机字符串的方法分析
Feb 17 PHP
利用laravel+ajax实现文件上传功能方法示例
Aug 13 PHP
Ubuntu彻底删除PHP7.0的方法
Jul 27 PHP
Laravel框架文件上传功能实现方法示例
Apr 16 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中用文本文件做数据库的实现方法
2008/03/27 PHP
php实现短信发送代码
2015/07/05 PHP
ubuntu下配置nginx+php+mysql详解
2015/09/10 PHP
yii2 modal弹窗之ActiveForm ajax表单异步验证
2016/06/13 PHP
浅析php如何实现App常用的秒发功能
2016/08/03 PHP
得到form下的所有的input的js代码
2013/11/07 Javascript
JavaScript闭包详解
2015/02/02 Javascript
在JavaScript中操作时间之getMonth()方法的使用
2015/06/10 Javascript
WordPress中利用AJAX异步获取评论用户头像的方法
2016/01/08 Javascript
JS定时器用法分析【时钟与菜单中的应用】
2016/12/21 Javascript
Vue 过渡实现轮播图效果
2017/03/27 Javascript
addEventListener()与removeEventListener()解析
2017/04/20 Javascript
vue教程之toast弹框全局调用示例详解
2020/08/24 Javascript
jQuery EasyUI window窗口使用实例代码
2017/12/25 jQuery
vue 输入电话号码自动按3-4-4分割功能的实现代码
2020/04/30 Javascript
[06:57]DOTA2-DPC中国联赛 正赛 Ehome vs PSG.LGD 选手采访
2021/03/11 DOTA
Python reduce()函数的用法小结
2017/11/15 Python
PyCharm代码整体缩进,反向缩进的方法
2018/06/25 Python
详解Django中六个常用的自定义装饰器
2018/07/04 Python
我喜欢你 抖音表白程序python版
2019/04/07 Python
python实现实时视频流播放代码实例
2020/01/11 Python
python自动点赞功能的实现思路
2020/02/26 Python
通过Python pyecharts输出保存图片代码实例
2020/11/25 Python
意大利咖啡、浓缩咖啡和浓缩咖啡机:illy caffe
2019/03/20 全球购物
商场主管竞聘书
2014/03/31 职场文书
部门年终奖分配方案
2014/05/07 职场文书
运动会稿件100字
2014/09/24 职场文书
电子商务实训报告总结
2014/11/05 职场文书
地球上的星星观后感
2015/06/02 职场文书
高一地理教学工作总结
2015/08/12 职场文书
OpenCV-Python实现人脸磨皮算法
2021/06/07 Python
python基础入门之普通操作与函数(三)
2021/06/13 Python
MyBatis-Plus 批量插入数据的操作方法
2021/09/25 Java/Android
JavaWeb Servlet开发注册页面实例
2022/04/11 Java/Android
Mybatis-Plus 使用 @TableField 自动填充日期
2022/04/26 Java/Android
Oracle中DBLink的详细介绍
2022/04/29 Oracle