php读取子目录下文件内容,php小代码----目录下读取子文件或子目录_PHP教程

5268f80b9b1e01f982625ef6fac83ca1.png

php小代码----目录下读取子文件或子目录

rootPath = $rootPath;

if (is_dir($this->rootPath)) {

$this->rootPath = pathinfo($this->rootPath, PATHINFO_DIRNAME) . DIRECTORY_SEPARATOR . pathinfo($this->rootPath, PATHINFO_BASENAME);

$this->opDirectory = dir($this->rootPath);

} else {

$this->errorMsg = '您提供的目录不存在!';

$this->errorNo = 1001;

throw new Exception($this->errorMsg, $this->errorNo);

}

}

private function read($directory, $parentPath, $modeInfo = 'mixed', $defaultDir = false, $fullPath = false) {

$dirInfo = array();

while (FALSE !== ($childDirOrFileName = $directory->read())) {

switch ($modeInfo) {

case self::RECDIR_MIXED:

if ($defaultDir) {

$dirInfo[] = $fullPath ? $parentPath . DIRECTORY_SEPARATOR . $childDirOrFileName : $childDirOrFileName;

} else {

if ($childDirOrFileName != '.' && $childDirOrFileName != '..') {

$dirInfo[] = $fullPath ? $parentPath . DIRECTORY_SEPARATOR . $childDirOrFileName : $childDirOrFileName;

}

}

break;

case self::RECDIR_DIR:

if (is_dir($parentPath . DIRECTORY_SEPARATOR . $childDirOrFileName)) {

if ($defaultDir) {

$dirInfo[] = $fullPath ? $parentPath . DIRECTORY_SEPARATOR . $childDirOrFileName : $childDirOrFileName;

} else {

if ($childDirOrFileName != '.' && $childDirOrFileName != '..') {

$dirInfo[] = $fullPath ? $parentPath . DIRECTORY_SEPARATOR . $childDirOrFileName : $childDirOrFileName;

}

}

}

break;

case self::RECDIR_FILE:

if (is_file($parentPath . DIRECTORY_SEPARATOR . $childDirOrFileName)) {

$dirInfo[] = $fullPath ? $parentPath . DIRECTORY_SEPARATOR . $childDirOrFileName : $childDirOrFileName;

}

break;

}

}

return $dirInfo;

}

/**

* (PHP 5 >= 5.4.0)

* 得到目录下的直接子目录或直接子文件信息

* @param string $modeInfo[可选]

* 返回目录下信息的模式

* mixed 返回所有的文件名及目录名

* dir 返回所有的目录名

* file 返回所有的文件名

*

* @param bool $defaultDir[可选]

* 是否包括默认的链接目录..和.

* false 不包括

* true 包括

*

* @param bool $fullPath[可选]

* 是否返回子文件或目录的路径信息

* true 是

* false 否

*

* @return array 返回一个数组,记录了该目录下的信息

*/

public function getPathDirectDirInfo($modeInfo = 'mixed', $defaultDir = false, $fullPath = false) {

return $this->read($this->opDirectory, $this->rootPath, $modeInfo, $defaultDir, $fullPath);

}

}

//----------------------------test-----------------------------------------

header("Content-type:text/html; charset=UTF-8");

try {

$recDir = new RecDir('./CALLTEMP/');

$dirs = $recDir->getPathDirectDirInfo('file', true, true);

var_dump($dirs);

} catch (Exception $ex) {

echo '在文件【' . $ex->getFile() . '】中的第' . $ex->getLine() . '行报错:' . $ex->getMessage() . '(' . $ex->getCode() . ')';

}

http://www.bkjia.com/PHPjc/1053347.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/1053347.htmlTechArticlephp小代码----目录下读取子文件或子目录 ?php class RecDir { protected $rootPath; protected $opDirectory; const RECDIR_MIXED = mixed; const RECDIR_DIR = dir; const RECD...

1428d0e076c3959ab11d28a39bc84fab.png

5268f80b9b1e01f982625ef6fac83ca1.png

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/398996.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

博客园自动显示随笔标签

title: 博客园自动显示随笔标签 date: 2018-01-03 20:52:22 tags: 浏览器脚本 categories: 前端 在添加随笔页自动显示已有标签,不用点击插入已有标签 效果如图 安装链接https://greasyfork.org/zh-CN/scripts/36809-%E5%8D%9A%E5%AE%A2%E5%9B%AD%E6%98%BE%E7%A4%BA…

linux 进程代码,怎样从Linux终端管理进程:10个你必须知道的命令

Linux终端有一系列有用的命令。它们可以显示正在运行的进程、杀死进程和改变进程的优先级。本文列举了一些经典传统的命令和一些有用新颖的命令。本文提到的命令会实现某个单一功能。它们可以结合起来——这也是Unix设计程序的理念。其它命令,例如htop,会在命令的上…

pycharm 安装 tensorflow

1. 安装python 3.5 链接:https://www.python.org/downloads/release/python-352/ 1.1如果之前安装了其他版本的,可以在你需要的项目中,导入本地需要的解释器 如果遇到安装包不知道安装位置,在C盘中搜索,然后将python3…

linux vnc 改端口号,RHEL6下配置vncserver服务(包括修改vnc端口)

RHEL6下配置vncserver服务(包括修改vnc端口)(2012-04-13 23:36:07)标签:it配置完vsftpd后,还必须要开的服务就是vnc啦,首先,在root用户下利用yum源安装vncserver:yum list | grep vncyum install tigervnc-server.i686安装完成后&…

简单Linq笔记

Linq是.net 3.5才引入的 要引入命名空间System.Linq. Linq to XML要引入System.Xml.Linq Linq to ADO.NET要引入System.Data.Linq 每个Linq查询都是以from子句开始,Linq查询中,select子句和select子句都是必备子句.Linq查询表达式 必须以select或group子句结束 from字句包括两…

Groovy在Spring中的简单使用实例

2019独角兽企业重金招聘Python工程师标准>>> 步骤一: 如果你使用的是Eclipse,则需先添加groovy插件,以便操作groovy文件。 可参:http://blog.csdn.net/haigenwong/article/details/22947075 步骤二: 步骤三&#xff1a…

.net core 2.0学习记录(一):搭建一个.Net Core网站项目

.Net Core开发可以使用Visual Studio 2017或者Visual Studio Code,下面使用Visual Studio 2017搭建一个.net Core MVC网站项目。 一.新建项目 二.选择 Web应用程序(模型视图控制器) 三.项目结构和之前的比对还是有很大的不同,wwwroot用来存放前端的一些静态资源(css/js/image/h…

一个APP的由来

之前在站酷、UI中国、优设等网站看过不少的APP教程、规范等一些东西。自认为有些规范讲的内容过于繁琐,对于像我这样的大多数设计师来说看着看着就懵逼了.... 如何联系我:【万里虎】www.bravetiger.cn 【QQ】3396726884 (咨询问题100元起&…

linux qt 添加.so,Linux环境下qt/qt creator添加OpenCV的配置

第一次使用qtcreator,我是做图像处理的,想在Ubuntu下将qtcreator和opencv的环境配置起来,着资料和尝试配置,耗费了我一个上午和一个下午,终于最终摸出了门路,以供大家分享。第一步:下载和安装op…

Auto Layout 和 Constraints

文章修改 2月1日:添加使用约束、编辑约束和iOS特性三个部分2月24日:根据自己的理解,修改iOS特性部分的内容 自动布局Auto Layout Auto Layout,通过设置在View上的约束,动态计算视图层次结构中所有的View的尺寸和位置。…

tkinter的GUI设计:界面与逻辑分离(三)-- 多页面

知识点: 使用 tkinter.Frame.tkraise() 函数去提升当前 tkinter.Frame 的 z 轴顺序,使得多个 tkinter.Frame 的可见性得以切换 本文基于:win7 python34 1 2 3 4 5 import matplotlib matplotlib.use("TkAgg")from matplotlib.back…

Android源码解析--SwipeMenuListView仿QQ聊天左滑

版权声明:本文为博主原创文章,转载请标明出处。 https://blog.csdn.net/lyhhj/article/details/50612714 绪论: 好久没写博客了,最近比较懒,不想写博客,但是在看书,看一些Android进阶的书&#…

java main方法背后的故事?(转)

jvm java 看似一种语言,实则一个巨大的体系的王国,开发这么多年了,还是没有搞懂,我以为我懂了,可是过了一段时间又忘了,所以说还是没懂 1、main方法说起 编译完我们的java文件后,需要有个一含有main方法的类…

亲历腾讯WEB前端开发三轮面试经历及面试题

【一面】~110分钟 2014/09/24 11:20 星期三 进门静坐30分钟做题。 填空题大题问答题 >>填空题何时接触电脑 何时接触前端运算符 字符串处理 延时 display position XMLHttpRequest 正则Jquery绑定事件 cookie >>大题BOM浏览器…

linux网卡名称乱编,小斗CentOS7.x网卡名称错乱、及网卡启动失败。

本帖最后由 Zack 于 2018-5-31 13:39 编辑最近在搞CentOS7装机的事情,在此记录期间遇到关于网卡方面的坑,整理分享下,以免大家继续再踩。一、在CentOS7默认装完系统之后网卡名称一改之前的名称习惯,网卡名称为enoxxxxx(之前命名规…

Maven——继承和聚合

实际项目中,可能正要构建一个大型的系统,但又不想一遍又一遍的重复同样的依赖元素,这种情况是经常出现的。不过还好,maven提供了继承机制,项目可以通过parent元素使用继承,可以避免这种重复。当一个项目声明…

iframe css练习

转载于:https://www.cnblogs.com/wenhuan/p/4019154.html

.NET常用工具类集锦

不错的地址: http://www.cnblogs.com/flashbar/archive/2013/01/23/helper.html https://github.com/chrisyanghua/MyHelper/tree/master/MyHelper http://www.cnblogs.com/conan87810/archive/2009/03/15/1412529.html http://www.cnblogs.com/ltp/archive/2008/03…

现代控制理论-李雅普诺夫

现代控制理论-李雅普诺夫 单输入单输出系统(BIBO)的系统函数如下: 则,该系统的能控标准型(能空性)为: 能观性: 李雅普诺夫下的稳定性: 李雅普诺夫下的渐进稳定性&a…

Linux服务器的gou,开源跨平台移动项目Langou【简介】

Langou简介Langou是一个跨平台(Android/iOS)前端开发框架,核心代码使用C编写,底层基于OpenGL绘图,上层实现了一个精简的排版引擎以及一个JS/JSX运行环境。目标是想实现在此基础上开发GUI应用程序可兼顾开发速度与运行效率。暂时只支持iOS与An…