PHP列出目录中的目录和文件的几种方法

PHP列出目录中的目录和文件的几种方法,第1张

<?php        

/**      

* PHP中列出目录中的目录和文件的几种方法      

*/       

//兼容PHP4和PHP5的写法        

function getFileList($directory) {        

    $files = array()        

    if(is_dir($directory)) {        

        if($dh = opendir($directory)) {        

            while(($file = readdir($dh)) !== false) {        

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

                吵哗    $files[] = $file        

                }        

            }    

            closedir($dh)        

        }        

    }        

    return $files        

}        

       

//PHP5中的简单方法        

function getFileList2($directory) {   大培     

    $files = array()        

    if(is_dir($directory)) {        

        if($files = scandir($directory)) {        

            $files = array_slice($files,2)        

        }        

    }        

    return $files        

}        

       

//使用PHP5面向对象的写法        

function getFileList3($directory) {        

    $files = array()        

    try {        

        $dir = new DirectoryIterator($directory)        

    } catch (Exception $e) {        

        throw new Exception($directory . ' is not readable')        

    }        

    foreach($dir as $file) {        

        if($file->isDot()) continue        

        $files[] = $file->getFileName()    升仿行    

    }        

    return $files        

}        

       

//测试代码        

$dir = dirname(__FILE__)        

var_dump(getFileList($dir))        

?>

<?php

 

/**

 * Goofy 2011-11-30

 * getDir()去文件夹列表,getFile()去对应文件夹下面的文件列表,二者的区别在于判断有没有“.”后缀的文件,其陆燃竖他都一样

 */

 

//获取文件目录列表,该方法返回数组

function getDir($dir) {

    $dirArray[]=NULL

    if (false != ($handle = opendir ( $dir ))) {

        $i=0

        while ( false !== ($file = readdir ( $handle )) ) {

            //去掉"“.”、“..”以及带“.xxx”后缀的文件

            if ($file != "." && $file != ".."&&!strpos($file,".")) {

                $dirArray[$i]=$file

                $i++

            }

        }

        //关闭句柄

        closedir ( $handle )

    }

   段启 return $dirArray

}

 

//获取文件列表

function getFile($dir) {

    $fileArray[]=NULL

    if (false != ($handle = opendir ( $dir ))) {

        $i=0

        while ( false !== ($file = readdir ( $handle )) ) {

            //去掉"“.”、“..”以及带“.xxx”后缀的文件

            if ($file != "." && $file != "早大.."&&strpos($file,".")) {

                $fileArray[$i]="./imageroot/current/".$file

                if($i==100){

                    break

                }

                $i++

            }

        }

        //关闭句柄

        closedir ( $handle )

    }

    return $fileArray

}

 

//调用方法getDir("./dir")……

?>

如果做一个在线的文件管理系统的察巧运话,那么首先必败梁须知道怎么读取目录和文件,其实这个功能几行代码就可以实现了。

输出效果:

实现代码:

复制代码

代码如下:

<?php

 $dir

=

"D:/" 

//要获取的目录

 echo

"**********

获取目录下所有文件和文件夹

***********<hr/>"

 //先判断指定的路径是不是一个文件夹

 宽孝if

(is_dir($dir)){

  if

($dh

=

opendir($dir)){

   while

(($file

=

readdir($dh))!=

false){

    //文件名的全路径

包含文件名

    $filePath

=

$dir.$file

    //获取文件修改时间

    $fmt

=

filemtime($filePath)

    echo

"<span

style='color:#666'>(".date("Y-m-d

H:i:s",$fmt).")</span>

".$filePath."<br/>"

   }

   closedir($dh)

  }

 }

?>

这只是最基础的效果,弄懂了,想做出其他的需求也很简单了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12203167.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存