php 返回目录下的所有文件名/文件夹类
浏览:3257次 出处信息
这里为了便于演示,直接列出来了,其中可以返回数组之类的,根据需要另作改动。
代码如下,可以直接Copy测试。
- <?php
- main();
- function main(){
- //Set Variables
- $testDirName = "./zhoz/";
- $fileListArray = array();
- $dirListArray = array();
- $aDirectory = new DirReader($testDirName);
- // Store File List in Array
- $fileListArray = $aDirectory->getFileList();
- $dirListArray = $aDirectory->getDirList();
- echo "<html><body>\n";
- echo "<pre>\n";
- echo "Reading Directory: ". $aDirectory->getDirPath() ."\n";
- echo "Current Directory: ". getcwd() ."\n";
- echo "-- Files in Directory --\n";
- foreach ($fileListArray as $filename) {
- echo "File: $filename\n";
- }
- echo "\n-- Sub Directories --\n";
- foreach ($dirListArray as $filename){
- echo "Sub dir: $filename\n";
- }
- echo "</pre></body></html>\n";
- }
- class DirReader{
- private $dh;
- private $basedir;
- private $fileNameArray=array();
- private $dirNameArray=array();
- function __construct($dirname){
- $this->basedir = $dirname;
- $this->dh = dir($dirname) or die($php_errormsg);
- $this->parseDirectory();
- }
- function parseDirectory(){
- $filename = "";
- while (false !== ($filename = $this->dh->read())){
- $fullpath = $this->basedir . '/' . $filename;
- if (is_file($fullpath)){
- array_push($this->fileNameArray, $filename);
- }else{
- array_push($this->dirNameArray, $filename);
- }
- }
- }
- // Get all the files in the directory
- function getFileList(){
- return $this->fileNameArray;
- }
- // Get all the sub directories in the directory
- function getDirList(){
- return $this->dirNameArray;
- }
- function getDirPath(){
- return $this->dh->path;
- }
- }
建议继续学习:
- Bash 小技巧:给目录加上书签,快速切换目录 (阅读:6465)
- 查找当前目录的重复文件 (阅读:3001)
- linux文件目录操作总结 (阅读:2660)
- bash遍历目录 (阅读:2685)
- MySql重启命令与数据库安装目录 (阅读:2434)
- apache配置(如何禁止列出目录内容) (阅读:2466)
- FREEBSD 建目录上限 (阅读:2327)
- Linux(CentOS)下更改/转移MySQL数据库目录 (阅读:2189)
- 记一个php函数dirname (阅读:2142)
- 递归创建目录的一个函数 (阅读:2088)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
扫一扫订阅我的微信号:IT技术博客大学习
<< 前一篇:用PHP计算身份证校验码
后一篇:使用bcompiler对PHP文件进行加密 >>
文章信息
- 作者:zhoz <zhozweb@yahoo.com.cn> 来源: Everyday NetLog
- 标签: 目录
- 发布时间:2010-03-24 23:37:49
建议继续学习
近3天十大热文
- [66] Go Reflect 性能
- [66] Oracle MTS模式下 进程地址与会话信
- [65] 如何拿下简短的域名
- [59] android 开发入门
- [59] IOS安全–浅谈关于IOS加固的几种方法
- [59] 图书馆的世界纪录
- [58] 【社会化设计】自我(self)部分――欢迎区
- [53] 视觉调整-设计师 vs. 逻辑
- [47] 界面设计速成
- [47] 读书笔记-壹百度:百度十年千倍的29条法则