2

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

4

3 回答 3

2

要使用 PHP 显示任何文件的内容,您可以这样做:

 echo htmlspecialchars(file_get_contents($filename));

该变量$filename是本地文件系统路径(不是 URL),因此文件是否可以通过 Web 访问并不重要。唯一的限制是 PHP 进程需要对文件具有读取权限。

请注意,htmlspecialchars应该告诉您页面的文档类型和编码使用它的第二个和第三个参数。例如:

 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');
于 2013-01-21T18:39:59.863 回答
1

如果您希望它的格式很好,请参阅highlight_file()

print highlight_file('path/to/your/file.php');

(我还写了一个更好的函数)

要在纯 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必须存在于您的服务器上)

于 2013-01-21T18:42:43.940 回答
0

您显然不了解 HTML 的用途——它不是一种编程语言,它是一种标记语言,用于布局。

HTML 也没有“服务器端”。一切都是客户端。没有处理您的代码,只是呈现您的页面(通过您的客户端的浏览器)。

也就是说,您无法使用 HTML 读取文件。不过,您可以使用 iframe 呈现另一个文件的内容。

<iframe src="myOtherFile.txt"></iframe>

您不能单独使用 HTML 来“读取”和处理该文件。即使使用 javascript(这是一种编程语言,但无法访问其他文件),您也无法做到这一点。

您可以按照此处其他答案的建议,使用 javascript 来调度 ajax 调用,让您的文件在服务器上读取(例如,通过 PHP 脚本),并将值返回到您的客户端(并使用 javascript 处理结果)。

于 2013-01-21T19:30:26.093 回答