将源代码保存为为客户端呈现的 .txt 文件
Posted
技术标签:
【中文标题】将源代码保存为为客户端呈现的 .txt 文件【英文标题】:Save source code as rendered for client as .txt file 【发布时间】:2014-03-24 20:09:41 【问题描述】:我正在尝试保存为客户端/用户呈现的网页源代码。不是因为代码存储在服务器上,而是因为它在客户端执行脚本之后。 (如果那有意义的话)。基本上采用源代码,如果客户端在哪里打开源代码查看器,然后使用 php 将该代码保存为服务器上的 .txt 文件。我在想一些javascript/html5? (当然还有 PHP)
【问题讨论】:
如果您想在执行一些客户端操作后以编程方式保存页面,那么您可能需要查看 CasperJS 或 PhantomJS 而不是 PHP。这些工具非常擅长网络抓取。 【参考方案1】:基本上你想缓存 html 输出。您可以使用 PHP 中的 ob_
函数来做到这一点:
<?php
ob_start(); //start buffering output
// your html and echo statements
$cachefile = //wherever you want to save it
$fp = fopen($cachefile, 'w');
fwrite($fp, ob_get_contents()); /* save the buffer to cache file */
fclose($fp);
ob_end_flush(); /* Send the buffer to the browser */
?>
【讨论】:
您可以将其用作缓存,方法是在执行 ob_start() 之前添加一些代码以检查 $cachefile 在某些条件下是否存在,然后执行include($cachefile); exit;
以仅返回缓存文件而不是重建它全部。
唯一的问题是...我有一个 Facebook 社交插件 (javascript),我希望保存该 javascript 代码的执行结果,但目前没有。
我认为没有办法做到这一点。 Javascript 在浏览器中执行,即使在浏览器中查看源代码,它也不会显示 javascript 对页面所做的更新,只会显示 HTML 首次到达客户端。
我不敢相信这是不可能的!之后客户端可以看到源代码的样子,那你怎么不客户端缓存,服务端保存呢?!?以上是关于将源代码保存为为客户端呈现的 .txt 文件的主要内容,如果未能解决你的问题,请参考以下文章
使用ajax调用从javascript保存txt文件到PHP