显示页面上目录中的所有文件

时间:2012-01-28 19:07:58

标签: php directory

  

可能重复:
  PHP list all files in directory

我有一个cron工作,每24小时运行一次创建.xls文件,他们正在我网站上的一个目录中创建它们,名为www.mysite.com/sheets

我想要做的是创建一个网页,我可以去那个目录中查看所有.xls文件并下载我的文件而不必使用ftp客户端下载它们。

这种东西有名字吗?我会写什么?我想我可以通过回显文件夹内容在php中完成它,这会有效吗?

欢呼声

3 个答案:

答案 0 :(得分:0)

使用glob()以及对xls文件进行一些过滤。

glob("*.xls")

答案 1 :(得分:0)

答案 2 :(得分:0)

您可以在您的网络服务器中激活目录列表,或者您可以使用像glob(“*。xls”)这样的函数列出文件并在Web服务器上回显它们的路径,或者您可以将文件发送到浏览器,如下所示:

<?php
$filename = "path/to/your/file.xls";
$real_filename = "file.xls";
header('Content-Transfer-Encoding: none');
header('Content-Type: application/octet-stream; name="' . $real_filename . '"');    
header('Content-Disposition: attachment; filename=' . $real_filename);                
$size = @filesize($filename);
if ($size > 0) {
    header('Content-length: '.$size);
} else {
    header('Content-length: '.@strlen(@file_get_contents($filename)));
}
readfile($filename);
exit;
?>

如果要列出目录,请使用:

$handle = opendir("./");
while (false !== ($file = readdir($handle))) {
    $fileinfo = pathinfo($file);
    if (strtolower($fileinfo[extension]) == "xls") {
        echo $file;    
    }
}
closedir($handle);

或者这个:

foreach (glob("*.[xX][lL][sS]") as $filename) {
    echo $filename;
}