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 引用文件技巧
Mar 02 PHP
php+memcache实现的网站在线人数统计代码
Jul 04 PHP
php去掉URL网址中带有PHPSESSID的配置方法
Jul 08 PHP
php实现的替换敏感字符串类实例
Sep 22 PHP
php实现singleton()单例模式实例
Nov 06 PHP
CodeIgniter扩展核心类实例详解
Jan 20 PHP
PHP QRCODE生成彩色二维码的方法
May 19 PHP
支付宝服务窗API接口开发php版本
Jul 20 PHP
PHP入门教程之数学运算技巧总结
Sep 11 PHP
PHP遍历目录文件的常用方法小结
Feb 03 PHP
php正则提取html图片(img)src地址与任意属性的方法
Feb 08 PHP
phpcmsv9.0任意文件上传漏洞解析
Oct 20 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抓取页面与代码解析 推荐
2010/07/23 PHP
解析thinkphp中的M()与D()方法的区别
2013/06/22 PHP
php 启动时报错的简单解决方法
2014/01/27 PHP
ThinkPHP在新浪SAE平台的部署实例
2014/10/31 PHP
PHP实现获取并生成数据库字典的方法
2016/05/04 PHP
Js中sort()方法的用法
2006/11/04 Javascript
彻底搞懂JS无缝滚动代码
2007/01/03 Javascript
node.js中的fs.rmdir方法使用说明
2014/12/16 Javascript
在Google 地图上实现做的标记相连接
2015/01/05 Javascript
浅谈jquery回调函数callback的使用
2015/01/30 Javascript
jQuery实现判断滚动条到底部
2015/06/23 Javascript
javascript实现随机读取数组的方法
2015/08/03 Javascript
jQuery技巧之让任何组件都支持类似DOM的事件管理
2016/04/05 Javascript
jQuery实现鼠标滚动图片延迟加载效果附源码下载
2016/06/28 Javascript
arcgis for js 修改infowindow样式的方法
2016/11/02 Javascript
Vue 实现前进刷新后退不刷新的效果
2019/06/14 Javascript
Vue代码整洁之去重方法整理
2019/08/06 Javascript
python中定义结构体的方法
2013/03/04 Python
Python字符串切片操作知识详解
2016/03/28 Python
Python常用内置模块之xml模块(详解)
2017/05/23 Python
python中文件变化监控示例(watchdog)
2017/10/16 Python
Python 网络编程之TCP客户端/服务端功能示例【基于socket套接字】
2019/10/12 Python
python实现用类读取文件数据并计算矩形面积
2020/01/18 Python
Pytorch实验常用代码段汇总
2020/11/19 Python
纯CSS3实现手风琴风格菜单具体步骤
2013/05/06 HTML / CSS
纯css3制作煽动翅膀的蝴蝶的示例
2018/04/23 HTML / CSS
彪马西班牙官网:PUMA西班牙
2019/06/18 全球购物
几道Java和数据库的面试题
2013/05/30 面试题
办公室文员工作职责
2014/01/31 职场文书
陈欧广告词
2014/03/14 职场文书
篝火晚会主持词
2014/03/25 职场文书
环保口号大全
2014/06/12 职场文书
工作作风懒散检讨书
2014/10/29 职场文书
务虚会发言材料
2014/12/25 职场文书
2019年健身俱乐部的创业计划书
2019/08/26 职场文书
CSS实现单选折叠菜单功能
2021/11/01 HTML / CSS