0
任何人都可以告诉我在目录中包含一组文件的最佳做法吗?例如,如果我有一个目录是/ javascript,并且在那里有10个javascript文件,我将如何去加载整个目录?包括目录中的所有/javascript/*.js
这个问题现在是有争议的,但为了将来的参考;
我使用下面在相同的方式读取文件:
<?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文件目录的RAW字符串格式。你不必担心我为什么要这样做。
我可能使用此来添加script
标签,并回显这些文件,但我正在寻找更快更优雅的方式来包括一个目录。与上面的代码不同(它的javascript永远不会被我的代码执行,我只是从文件中创建字符串并将它发送给JS进行解析)。
另外请注意,所建议的:
$files = glob("{directory/*.js}",GLOB_BRACE);
for($i = 0; $i < count($files); $i++){
include($files[$i]);
}
不执行任何操作,但这些文件回显到屏幕上,无需script
标签。
有你“再阅读的内容,而不是输出'原因
我只需简单地在文件上调用
include()
而不是执行file_get_contents()
。这是有两个主要原因/好处:来源
2011-09-16 13:40:05 DaveRandom
你是说如果我通过$文件循环并调用include($ files [i]),它应该像我期望的那样工作? – GAgnew
'readfile()'我认为比'file_get_contents()'快,并且不会像'include'那样执行PHP(如果出于某种原因,有任何)。 –
是的,就像HTML模板。在一天结束时,这些都只是纯文本......可能值得在包含之间输出一个CRLF,所以您不会破坏文件中不包含任何尾随的新行的任何内容。 – DaveRandom
不要。
使用Closure compiler将您的Javascript文件编译为单个缩小的源文件,然后使用HTML引用代替。
来源
2011-09-16 13:41:26
@ nephi12:哎呀!抱歉。我想你是错误地写信给我的,或者我误解了它。现在我已经删除了所有的东西。该死...... –
我只是说你是对的,而且OP应该向你道歉,而且他们像小孩一样行事。我应该说“给OP .....”但我没有。抱歉。 – nephi12
@ nephi12:谢谢你的支持。 :-)你说得对,现在我觉得很傻。 –
PHP不会为您输出
<script>
标签。除了大量的文本之外,它不知道JS是什么。你的水珠版本是接近的,但必须是:来源
2011-09-16 14:25:37