【发布时间】:2015-04-01 19:11:56
【问题描述】:
<textarea placeholder="Source code of file" class="source">
<?php echo ($thesource) ?>
</textarea>
<?php
$blacklist = array("one.jps", "two.txt", "four.html");
if ($handle = opendir('.')) {
while (false !== ($entry = readdir($handle))) {
if ($entry != "." && $entry != ".." && !in_array($entry, $blacklist)) {
$thesource = file_get_contents($entry);
echo "<div class='post'
<p>$entry</p>
</div>
";
}
}
closedir($handle);
}
?>
输出:
<textarea placeholder="Source code of file" class="source">
<!DOCTYPE html>
<html>
etc
etc
</body>
</html>
</textarea>
<p>ok.html</p>
<p>source.php</p>
<p>sub.html</p>
<p>stylesheet.css</p>
这可能看起来令人困惑,让我试着解释一下我想要实现的目标。
假设目录中有一些文件(在本例中为 4 个)。我正在使用的 PHP 代码会将所有这 4 个文件回显到 PHP 代码所在的页面上 - 它排除了黑名单中的所有内容。所以它看起来有点像这样:
<p>ok.html</p>
<p>source.php</p>
<p>sub.html</p>
<p>stylesheet.css</p>
还有一个textarea:
<textarea placeholder="Source code of file" class="source">
<?php echo ($thesource) ?>
</textarea>
此文本区域的值为 $thesource。 $thesource 变量中的任何内容都会出现在文本区域中。
要定义 $thesource 变量,这是我正在使用的 PHP 代码:
$thesource = file_get_contents($entry);
请注意,$entry 是在页面上回显的所有文件(如上所述 - 在本例中为 4 个文件)
我正在努力做到这一点,每当用户点击其中一个文件时:
<p>ok.html</p>
<p>source.php</p>
<p>sub.html</p>
<p>stylesheet.css</p>
当用户点击上面列出的那些时,它会在文本区域中显示被点击文件的源代码。
我当前使用的源代码,只是echo's出当前包含PHP代码的文件的源代码。
我将如何实现这一目标?谢谢 - 如果您仍然不确定我想要达到的目标,请询问!
【问题讨论】:
-
所以你想执行 php 脚本并回显生成的 html 代码?
-
所以你想要一个特定目录中不在黑名单上的所有文件的列表,如果你点击一个文件应该显示在文本区域中?
-
源代码是PHP?还是 HTML?
-
@Rizier123 是的,这正是我想要做的,点击其中一个文件会在 textarea 中显示该文件的源代码
-
@Osman 你还想要源代码还是解析后的php?
标签: php html directory echo file-get-contents