我有.mht文件存储在服务器上的文件夹中。此文件夹在 .htaccess
中有一个规则,即只允许localhost
进入。
我需要根据用户操作在我的网站上呈现文件。 <iframe>
和<embed>
以及 jquery .load()
不起作用,因为请求不是来自localhost
。
我正在尝试通过 phpscript 和 ajax 调用获取文件的数据:
.PHP:
$file = htmlentities(filter_var($_GET['url'], FILTER_SANITIZE_STRING), ENT_QUOTES);
$content = file_get_contents(".".$file);
$return = array("content" => $content);
echo json_encode($return);
j查询:
$.getJSON('queries.php',{q: 'getFile', url: file},
function(data){
$('#file_panel').html(data.content);
}
);
但它只显示文件的内容,不呈现它。有什么建议可以渲染吗?
除非您使用 <iframe>
,否则这是不可能的。浏览器不会在同一页面中解析HTML和MHT。
试试这个,
PHP 文件
$file = htmlentities(filter_var($_GET['url'], FILTER_SANITIZE_STRING), ENT_QUOTES);
echo file_get_contents(".".$file);
.JS
$("#frame").attr("src", "queries.php?url="+file);