Php 仅使用HTML读取和显示服务器端文件的内容
正如标题所暗示的,我需要一种不用PHP在网站上显示文件的方法。该文件无法直接访问,它只显示一个空白页。因此,它需要以明文形式阅读和打印。我试图读取的文件是一个PHP文件。Php 仅使用HTML读取和显示服务器端文件的内容,php,html,web,Php,Html,Web,正如标题所暗示的,我需要一种不用PHP在网站上显示文件的方法。该文件无法直接访问,它只显示一个空白页。因此,它需要以明文形式阅读和打印。我试图读取的文件是一个PHP文件。 HTML将与要读取的文件位于同一服务器上。要使用PHP显示任何文件的内容,可以执行以下操作: echo htmlspecialchars(file_get_contents($filename)); 变量$filename是一个本地文件系统路径(不是URL),因此文件是否可以通过web访问并不重要。唯一的限制是PHP进程需
HTML将与要读取的文件位于同一服务器上。要使用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');
header('Content-Type:text/html;charset=utf-8');//UTF-8
回显“”;//HTML 5
echo htmlspecialchars(文件获取内容($filename),ENT_HTML5,'UTF-8');
如果您希望它的格式很好,请参阅:
(我还写了一篇文章,做得更好一些)
要在纯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>
jQuery(文档).ready(函数($){
$.ajax({
url:“file.phps”,
数据类型:“文本”,
成功:功能(数据){
$('').text(data.appendTo('body');
}
});
});
(
file.phps
必须存在于您的服务器上)您显然不了解HTML的用途-它不是一种编程语言,而是一种用于布局的标记语言
HTML也没有“服务器端”。一切都是客户端的。不需要处理代码,只需(通过客户端浏览器)呈现页面
也就是说,不能使用HTML读取文件。但是,您可以使用iframe呈现另一个文件的内容
<iframe src="myOtherFile.txt"></iframe>
您不能单独使用HTML“读取”并处理该文件。即使使用javascript(这是一种编程语言,但不能访问其他文件),您也无法做到这一点
正如其他答案所建议的,您可以使用javascript发送ajax调用,在服务器上读取文件(例如,通过PHP脚本),并将值返回到客户端(并使用javascript处理结果)。不使用PHP意味着什么?使用。是的,这就是我正在尝试的。对不起,如果我解释得不好。我怎么能使用$.ajax.来实现这个呢?这不是在PHP文件中使用的吗?重申一下,我必须专门使用HTML来实现这一点。@Jshaps:除非文件可以从web访问(你说不是),否则这是不可能的。啊,所以这是不可能的?HTML无法读取服务器端文件?@Jshaps:No。HTML不是通用编程语言。@Jon请参阅为什么在使用htmlspecialchars时ENT_HTML5是无用的。我建议使用
htmlspecialchars(…,ENT_NOQUOTES)
在这里,对于这个特定的代码,所有其他变体都是多余的。这不是在PHP文件中使用的吗?重申一下,我必须专门使用HTML。这是Javascript,不是PHP。OP说我必须专门使用HTML。是的,这不是唯一的HTML,但我看不到其他选项在这里
<iframe src="myOtherFile.txt"></iframe>