为 PHP 目录中的所有 JavaScript 文件递归生成脚本标签
Recursively generate script tags for all JavaScript files within a directory with PHP
我正在构建一个复杂的应用程序,其中包含许多子目录中的许多 JavaScript 文件。我知道我想将它们全部包括在内(这不会影响性能),但我不想为每个手动创建脚本标签。鉴于我所有的文件都是“/js”目录的子目录,我如何为每个文件动态生成带有 PHP 的脚本标签?像这样:
// first somehow recursively get all .js files, then:
foreach($files as $file) {
echo '<script src="' . $file->path . '"></script>';
}
我认为最优雅的方法是使用 SPL。
$dirIterator = new RecursiveDirectoryIterator("/path/to/js");
$iterator = new RecursiveIteratorIterator(
$dirIterator,
RecursiveIteratorIterator::SELF_FIRST
);
foreach ($iterator as $file) {
if($file->getExtension() == 'js') {
// You probably have to adjust the full path according to your DOC_ROOT
$url = $file->getPathname();
echo '<script src="' . $url . '"></script>';
}
}
看看 http://php.net/manual/en/class.splfileinfo.php 看看你还能用 $file
做什么。
我正在构建一个复杂的应用程序,其中包含许多子目录中的许多 JavaScript 文件。我知道我想将它们全部包括在内(这不会影响性能),但我不想为每个手动创建脚本标签。鉴于我所有的文件都是“/js”目录的子目录,我如何为每个文件动态生成带有 PHP 的脚本标签?像这样:
// first somehow recursively get all .js files, then:
foreach($files as $file) {
echo '<script src="' . $file->path . '"></script>';
}
我认为最优雅的方法是使用 SPL。
$dirIterator = new RecursiveDirectoryIterator("/path/to/js");
$iterator = new RecursiveIteratorIterator(
$dirIterator,
RecursiveIteratorIterator::SELF_FIRST
);
foreach ($iterator as $file) {
if($file->getExtension() == 'js') {
// You probably have to adjust the full path according to your DOC_ROOT
$url = $file->getPathname();
echo '<script src="' . $url . '"></script>';
}
}
看看 http://php.net/manual/en/class.splfileinfo.php 看看你还能用 $file
做什么。