php - 如何在没有 apache 模块帮助的情况下压缩从多个 php 源文件生成的 html 文件?

标签 php html

例如。

文件结构

+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.phpblah2.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>

如何在没有 apache 模块 帮助的情况下提供压缩 HTML 文件?

最佳答案

我不太确定“没有 apache 模块的帮助”背后的原因。 如果您的意思是您没有访问权限(或许可)更改 apache 设置。 您仍然可以从 php 本身使用 gzip。

就在你的 header.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

关于php - 如何在没有 apache 模块帮助的情况下压缩从多个 php 源文件生成的 html 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20541887/

相关文章:

PHP Paypal API 更改

php - 计算数据库查询事件记录的所有结果

php - 在 MySQL 中选择部分列标题

javascript - 将 div 保持在页面底部,直到滚动到某个位置

php - laravel redis 数据库参数

html - 确定 HTML5 HLS 流的当前呈现

javascript - 当移动地址栏出现/消失时防止窗口高度变化

javascript - 如何获取输入文件值而不是使用 FormData

javascript - jQuery根据页面滚动添加/删除类

javascript - Jquery 上传预览前的最大高度和最大宽度验证