You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用PHP列出网站目录所有PHP文件并获取其meta标签信息

PHP批量获取指定目录下PHP文件及Meta标签实现方法

需求说明

  • 列出网站指定目录下的所有PHP文件并生成对应访问链接
  • 批量提取每个PHP文件的meta标签信息,包含作者、关键词、描述等字段

现有问题

已经可以通过glob方法列出目录下的所有PHP文件,但仅能指定单个文件路径调用get_meta_tags方法获取meta信息,如果不传入具体文件名,该方法只会返回目录下index文件的meta标签,无法批量获取所有文件的信息。

当前可用的单文件Meta标签获取代码如下:

<?php
$tags = get_meta_tags('http://path-to-a-folder/name-of-a-file');
echo $tags['author'];    
echo $tags['keywords'];  
echo $tags['description']; 
?>

实现代码

结合glob遍历本地PHP文件、拼接对应访问URL后批量调用get_meta_tags即可实现需求,参考代码如下:

<?php
// 配置项:替换为自身站点对应路径
$local_scan_dir = __DIR__ . '/your-target-folder/'; // 待扫描的本地目录绝对路径
$web_access_prefix = 'http://your-domain.com/your-target-folder/'; // 对应目录的Web访问前缀

// 遍历目录下所有后缀为.php的文件
$all_php_files = glob($local_scan_dir . '*.php');

foreach ($all_php_files as $local_file) {
    $filename = basename($local_file);
    $file_access_url = $web_access_prefix . $filename;

    // 获取当前文件Meta标签,不存在的字段做容错处理
    $meta = get_meta_tags($file_access_url);
    $author = $meta['author'] ?? '无';
    $keywords = $meta['keywords'] ?? '无';
    $description = $meta['description'] ?? '无';

    // 输出带链接的文件信息,添加XSS转义保证安全
    echo '<div>';
    echo '<p><a href="' . htmlspecialchars($file_access_url) . '" target="_blank">' . htmlspecialchars($filename) . '</a></p>';
    echo '<ul>';
    echo '<li>作者:' . htmlspecialchars($author) . '</li>';
    echo '<li>关键词:' . htmlspecialchars($keywords) . '</li>';
    echo '<li>描述:' . htmlspecialchars($description) . '</li>';
    echo '</ul>';
    echo '</div>';
}
?>

注意事项

  • 请确保配置的$web_access_prefix可以正常通过HTTP访问对应目录下的PHP文件,否则get_meta_tags无法正常解析Meta信息
  • 如果需要扫描多级子目录下的PHP文件,可将glob替换为递归目录遍历逻辑即可
  • 生产环境使用建议根据需求添加权限校验、分页、缓存等功能优化体验

内容的提问来源于stack exchange,提问作者paco

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 08:06:01