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

时间:2013-01-21 18:36:47

标签: php html web

正如标题所暗示的,我需要一种在不使用PHP的情况下在网站上显示文件的方法。该文件无法直接访问,只显示空白页面。因此需要以明文阅读和打印。我正在尝试阅读的文件是一个PHP文件。 HTML将与要读取的文件位于同一服务器上。

3 个答案:

答案 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)。