Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 仅使用HTML读取和显示服务器端文件的内容_Php_Html_Web - Fatal编程技术网

Php 仅使用HTML读取和显示服务器端文件的内容

Php 仅使用HTML读取和显示服务器端文件的内容,php,html,web,Php,Html,Web,正如标题所暗示的,我需要一种不用PHP在网站上显示文件的方法。该文件无法直接访问,它只显示一个空白页。因此,它需要以明文形式阅读和打印。我试图读取的文件是一个PHP文件。 HTML将与要读取的文件位于同一服务器上。要使用PHP显示任何文件的内容,可以执行以下操作: echo htmlspecialchars(file_get_contents($filename)); 变量$filename是一个本地文件系统路径(不是URL),因此文件是否可以通过web访问并不重要。唯一的限制是PHP进程需

正如标题所暗示的,我需要一种不用PHP在网站上显示文件的方法。该文件无法直接访问,它只显示一个空白页。因此,它需要以明文形式阅读和打印。我试图读取的文件是一个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>