eg.
文件结构
+Site
| +private_files
| | header.php
| | footer.php
| | head.php
| | anlytics.php
| | blah1.php
| | blah2.php
| | blah3.php
| index1.php
| index2.php
每个服务文件都需要
header.php
、footer.php
、head.php
,analytics.php
。此外
-
index1.php
需要blah1.php
和blah2.php
. -
index2.php
需要blah2.php
,blah3.php
.
页面结构
<!DOCTYPE html>
<html>
<?php include 'private/head.php'?>
<body>
<?php include 'private/header.php'?>
//rest code
<?php include 'private/footer.php'?>
</body>
</html>
如何在没有阿帕奇模块的帮助下提供压缩的HTML文件?
我不太确定"没有 apache 模块的帮助"背后的原因。如果您的意思是您没有更改 apache 设置的访问权限(或权限(。你仍然可以从 php 本身使用 gzip。
就在标题中.php(第一个包含的 php,可以导出脚本中的任何内容(
ini_set('zlib.output_compression_level', 1); //the compress level you want, 1 is lowest
ob_start('ob_gzhandler');
如需进一步阅读ob_gzhandler - http://php.net/ob_gzhandler
如果你的意思是你甚至不想使用Apache或其他系统模块支持的任何系统命令。你只是寻找一个由php本身完成的解决方案。是的,您可以使用 ob_get_clean(( 获取所有内容,然后对字符串应用一些 gzip 压缩,然后回显它。另外,更改标题以让浏览器知道内容是gzip(ed(。但是,我认为您不会喜欢这种表演。此外,你需要很多额外的工作,感觉完全浪费;-(
进一步阅读ob_get_clean - http://php.net/ob_get_clean
把它放在<!DOCTYPE html> <html><?php include 'private/head.php'?> <body>
之前:
<?php
ob_start("ob_gzhandler");
?>
我将把你的问题分成两部分。1. 在站点中压缩您的 Css 和 Js,这甚至可以即时完成。请查看 http://manas.tungare.name/software/css-compression-in-php/2.即时压缩HTML文件。在这种情况下,您是否尝试过像cloudflare这样的服务。它们提供即时压缩。PHP 案例将涉及 curl,通过创建一个首先接收请求的新文件。然后文件通过 curl 获取 url 内容。然后可以压缩接收内容,然后回显。这是相当粗糙的。
您可以使用HTML Minify
$filter = new Zend_Filter_Minify_Html();
return $filter->filter($view->render($name));
它不是gzip压缩,但减小了页面
的大小点击这里查看Zend模块