PHP如何遍历指定文件夹,获取所有文件列表并生成下载链接??

PHP如何遍历指定文件夹,获取所有文件列表并生成下载链接??,第1张

试编写代码如下:

<?php

$dir="D:/WWW/ftp" //指定的路径

$sitepath = 'http://localhost/ftp/'

//遍历文件夹下所有文件

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

    echo "$dir 目录下的文件列表:<BR/>"

    $i = 0

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

        if ($file != "." && $file != ".." && !is_dir($dir.'/'.$file)) {

            echo '<a href="' . $sitepath . $file . '">'.$file. '</a><br/>'

        }

    }

    //关闭句柄

    closedir($handle)

}

?>

代码中需要提示的是:

如果是运行于互联网上,需要考虑文件的访问安全性。

运行截图:

<?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")……

?>


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存