php小代码----目录下读取子文件或子目录
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php小代码----目录下读取子文件或子目录,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2983字,纯文字阅读大概需要5分钟。
内容图文
![php小代码----目录下读取子文件或子目录](/upload/InfoBanner/zyjiaocheng/1167/0fc56b3cfbdb455e8a5689ad0068361f.jpg)
<?php class RecDir { protected $rootPath; protected $opDirectory; const RECDIR_MIXED = ‘mixed‘; const RECDIR_DIR = ‘dir‘; const RECDIR_FILE = ‘file‘; public $errorMsg = ‘‘; public $errorNo = 0; public function __construct($rootPath) { $this->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)<br/> * 得到目录下的直接子目录或直接子文件信息 * @param string $modeInfo[可选]<p> * 返回目录下信息的模式 * mixed 返回所有的文件名及目录名 * dir 返回所有的目录名 * file 返回所有的文件名 * </p> * @param bool $defaultDir[可选]<p> * 是否包括默认的链接目录..和. * false 不包括 * true 包括 * </p> * @param bool $fullPath[可选]<p> * 是否返回子文件或目录的路径信息 * true 是 * false 否 * <p> * @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() . ‘)‘; }
本文出自 “我的IT生涯” 博客,请务必保留此出处http://quietnight.blog.51cto.com/7163892/1693468
原文:http://quietnight.blog.51cto.com/7163892/1693468
内容总结
以上是互联网集市为您收集整理的php小代码----目录下读取子文件或子目录全部内容,希望文章能够帮你解决php小代码----目录下读取子文件或子目录所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。