谁能告诉我在目录中包含一组文件的最佳实践吗?
例如,如果我有一个/javascript 目录,其中有 10 个 javascript 文件,我将如何加载整个目录?
这个问题现在没有实际意义,但供将来引用;
我使用以下命令以相同的方式读取文件:
<?php
session_start();
// Auto import all js files in the directory.
$files = glob("*.js");
sort($files);
$jsFiles = array();
for($i = 0; $i < count($files); $i++){
error_log('Auto-Opening: '.$files[$i]);
$tempString = file_get_contents($files[$i]);
//error_log('Auto-Opened Content: '.$tempString);
array_push($jsFiles, $tempString);
}
?>
抱歉,我想这需要澄清:
我包含的代码用于我的项目的完全独立的部分,它包含 javascript 文件目录的原始字符串格式,用于我的处理目的。你不必担心我为什么这样做。
我可以使用它来添加script
标签,并回显这些文件,但我正在寻找一种更快更优雅的方式来包含目录。与上面的代码不同(我的代码永远不会执行其 javascript。我只是从文件中创建字符串并将其发送到 JS 进行解析)。
另请注意,按照建议:
$files = glob("{directory/*.js}",GLOB_BRACE);
for($i = 0; $i < count($files); $i++){
include($files[$i]);
}
除了将这些文件回显到屏幕上之外什么也不做,不带 script
标签。
最佳答案
我会简单地对文件调用include()
,而不是执行file_get_contents()
。这有两个主要原因/好处:
- 在输出文件之前,您不会将文件加载到内存中(无论如何在 PHP 中)。这节省了服务器资源(尽管数量相当少)。
- 您可以将 PHP 代码放入 JS/CSS 等中并对其进行评估。这意味着您可以在服务器端预定义 JS 变量、将颜色主题应用于 CSS 以及通过 PHP 非常简单地执行许多其他操作。
关于php - 包含目录中的 all/javascript/*.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7445496/