我尝试回显特定目录中每个html文件的全部内容。
我知道我可以使用{{1}}来读取和返回特定文件的内容。如何在特定目录中的每个html文件中使用它?
感谢您的帮助!
答案 0 :(得分:0)
您可以使用file_get_contents()
存储文件的内容。
此功能(受this answer启发)将返回一个二维数组,其中$key => $value
对由$filename => $file_content
表示,如果无法打开目录,则返回false
。 / p>
<?php
function read_htmlfiles_in_dir($dir)
{
$files = array();
if ($handle = opendir('.')) {
while (false !== ($file = readdir($handle)))
{
if ($file != "." && $file != ".." && strtolower(substr($file, strrpos($file, '.') + 1)) == 'html')
{
$files[$file] = file_get_contents($file);
}
}
closedir($handle);
return ($files);
}
else
{
return (false);
}
}
?>
如果您需要回显curent目录中的所有html
文件,那么可以将其包含在此处,例如:
<?php
if ($htmlfiles = read_htmlfiles_in_dir('.'))
{
foreach($htmlfiles as $file)
{
echo $file;
}
}
?>
你只需要一点调试
print_r($htmlfiles);
并获得类似
的内容Array
(
[filename.html] => <div>Some HTML Code</div>
[otherfile.html] => <span>Some <b>other</b> HTML code</span>
)
然而,您将有最后一件事要考虑:HTML文件必须显示的顺序。
答案 1 :(得分:0)
或者你可以做得更简单..
$FILES = scandir("/complete/path/to/directory");
foreach($FILES as $FILE)
if($FILE == "." || $FILE == "..") continue;
else include($FILE);
如果它是当前目录..
$FILES = scandir(realpath(dirname(__FILE__)));
foreach($FILES as $FILE)
if($FILE == "." || $FILE == ".." || $FILE == __FILE__) continue;
else include($FILE);