我必须解码我命名为cache.log的我的一个Chrome缓存文件的二进制内容数据.我要解码的方式是使用我在这里找到的PHP脚本
http://www.frozax.com/blog/2011/05/recover-file-google-chrome-cache-gzipped/
我已经安装了以下命令的PHP
sudo apt-get install PHP5 libapache2-mod-PHP5 sudo apt-get install PHP5-cgi
当我尝试运行index1.PHP脚本时,我在Terminal中得到以下内容
s3z@s3z-laptop:~/Desktop$PHP index1.PHP
PHP Deprecated: Comments starting with '#' are deprecated in /etc/PHP5/cli/conf.d/mcrypt.ini on line 1 in UnkNown on line 0
// cache.log is a copy of chrome cache page with only the file content section
$cacheString = file_get_contents("cache.log");
$matches = array();
preg_match_all('/\s[0-9a-f]{2}\s/',$cacheString,$matches);
$f = fopen("t.bin","wb");
foreach ($matches[0] as $match)
{
fwrite($f,chr(hexdec($match)));
}
fclose($f);
ob_start();
readgzfile("t.bin");
$decoded_data=ob_get_clean();
echo $decoded_data;
正如你所看到的,它正在做的是回应脚本.
如何实际运行脚本?
它看起来不像代码包裹在:
<?PHP ?>
如果没有,它将只是回声而不是执行.这样做的原因是PHP可以将服务器脚本和HTML混合在同一个文件中.
<html>
<head><title></title></head>
<body>
<?PHP
//Inside the PHP block so it gets executed and prints 'Hello World'
echo "Hello,World!";
?>
<!--Outside the PHP block so it just gets echoed and prints 'echo "Hello,World!";' -->
echo "Hello,World!";
</body>
</html>