我正在尝试以递归方式将目录中的某些Javascript文件链接到HTML页面中:
<?php
$dir = '/opt/lampp/htdocs/my_project/js';
$iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($dir), RecursiveIteratorIterator::SELF_FIRST );
foreach ( $iterator as $path ) {
if ($path->isDir()) {
print('dir >>> ' . $path->__toString() . PHP_EOL . '\n');
} else {
print($path->__toString() . PHP_EOL . '\n\n\n');
echo("<script src='$path->__toString() . PHP_EOL>\</script>");
}
}
?>
然而,这似乎不起作用。如何递归添加目录和子目录中的所有文件?任何有效的递归方法都可以。它不一定是我在上面尝试它的方式。
提前谢谢大家。
答案 0 :(得分:0)
尝试将foreach块更改为以下代码,看看是否有帮助?
foreach ( $iterator as $path ) {
if ($path->isDir()) {
print('dir >>> ' . $path . PHP_EOL);
} else {
print($path . PHP_EOL);
echo("<script src='$path'></script>".PHP_EOL);
}
}
问题在于"<script src='$path->__toString() . PHP_EOL>\</script>"
的语法将此行更改为"<script src='$path'></script>"
会有所帮助。