【问题标题】:Scandir function to output all .php pages to website - PHPScandir 函数将所有 .php 页面输出到网站 - PHP
【发布时间】:2014-05-16 17:08:23
【问题描述】:

我正在尝试将我网站上的所有 .php 文件输出到一个页面。在一定程度上,我设法做到了。

我已经成功输出了我网站目录中的所有文件。这些包括文本文件、图像文件、.php 文件等。

我只希望输出是 .php 文件,并且它们是超链接的。

这是我目前的代码:

<?php
$dir = '/home/website/allfiles';
$files = scandir($dir);
echo "<pre>";
print_r($files);
echo "</pre>";
?>

上面的代码只是打印数组列表中的所有文件(.txt、.jpeg、.php 等)。

【问题讨论】:

  • 使用glob() 函数。您可以过滤要使用/显示的文件扩展名。然后使用href 标签。
  • 正如弗雷德所说,一个glob() 电话,或至少一个if(pathinfo($files[$i], PATHINFO_EXTENSION) == 'php') {...}

标签: php sitemap scandir


【解决方案1】:

进一步我的评论:您可以使用glob() 函数(PHP 4 >= 4.3.0,PHP 5)并过滤您想要使用/显示的文件扩展名。

使用:GLOB_BRACE

GLOB_BRACE - 扩展 {a,b,c} 以匹配“a”、“b”或“c”

这是一个基本的例子:

<?php

$directory = "images/"; // Use your preferred folder
$files = glob($directory . '*.{jpg,jpeg,png,gif,doc,ppt}', GLOB_BRACE);

foreach($files as $file)
{
    echo '<a href="'.$file.'">'.$file.'</a>' . "<br>";
}

?>

如果您不想将文件名用作显示的文本,可以使用通用词,例如View file

只需替换:'.$file.' 替换为View file

echo '<a href="'.($file).'">'.$file.'</a>' . "<br>";

与:

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

或者使用双引号作为包裹的回显:(反转"'.$file.'"的引号)

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

要在新窗口/标签页中打开文件,请使用target='_blank'

例子:

echo "<a href='".$file."' target='_blank'>View file</a>" . "<br>";

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-12-18
    • 2017-02-21
    • 1970-01-01
    • 2012-12-29
    • 1970-01-01
    • 2019-07-17
    • 1970-01-01
    • 2015-03-19
    相关资源
    最近更新 更多