正如标题所暗示的,我需要一种在不使用PHP的情况下在网站上显示文件的方法。该文件无法直接访问,只显示空白页面。因此需要以明文阅读和打印。我正在尝试阅读的文件是一个PHP文件。 HTML将与要读取的文件位于同一服务器上。
答案 0 :(得分:2)
要使用PHP显示任何文件的内容,您可以执行以下操作:
echo htmlspecialchars(file_get_contents($filename));
变量$filename
是本地文件系统路径(不是URL),因此无论文件是否可通过Web访问都无关紧要。唯一的限制是PHP进程需要具有对文件的读访问权。
请注意,htmlspecialchars
应该告诉您的页面的doctype和编码使用的是第二个和第三个参数。例如:
header('Content-Type: text/html; charset=utf-8'); // UTF-8
echo '<!DOCTYPE html>'; // HTML 5
echo htmlspecialchars(file_get_contents($filename), ENT_HTML5, 'UTF-8');
答案 1 :(得分:1)
如果您希望格式良好,请参阅 highlight_file()
:
print highlight_file('path/to/your/file.php');
(我还写了一个function来做得更好一点)
击><击> 撞击>
要在普通的html中执行此操作,您需要使用javascript并触发ajax请求来获取该文件。但您仍需要将脚本重命名为.phps
,.txt
或PHP不会尝试解析的内容。
使用jQuery的示例:
<html>
<head>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script>
jQuery(document).ready(function($){
$.ajax({
url : "file.phps",
dataType: "text",
success : function (data) {
$('<pre />').text(data).appendTo('body');
}
});
});
</script>
</head>
<body>
</body>
(您的服务器上必须存在file.phps
)
答案 2 :(得分:0)
你显然不了解HTML的目的 - 它不是一种编程语言,它是一种标记语言,用于布局。
也没有&#34;服务器端&#34;用HTML。一切都是客户端。没有处理您的代码,只需渲染您的页面(由您的客户的浏览器)。
也就是说,您无法使用HTML读取文件。但是,您可以使用iframe呈现另一个文件的内容。
<iframe src="myOtherFile.txt"></iframe>
你无法阅读&#39;它仅使用HTML处理该文件。即使使用javascript(这是一种编程语言,但无法访问其他文件),您也无法做到这一点。
你可以像在其他答案中所建议的那样,使用javascript调度ajax调用,在服务器上读取文件(例如,通过PHP脚本),并将值返回给客户端(并处理结果用javascript)。