国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > Apache > 正文

php使用zlib壓縮和解壓縮文件(swf)

2024-08-27 18:22:12
字體:
來源:轉載
供稿:網友

本文章利用一個實例來介紹php中的zlib進行文件的壓縮和解壓縮,在我們使用zlip功能之前我們需要進行如下操作,否則就沒能往下看了,首先在PHP.ini里面設置:

  1. zlib.output_compression = On 
  2. zlib.output_compression_level = 6 

第一項是開啟壓縮,第二項是壓縮率,可選范圍為1-9;

然后是apach里面開啟deflate壓縮,去掉井號。

  1. #LoadModule deflate_module modules/mod_deflate.so 

到此為止這樣還是不行的,還需要在http.conf選個一空白處加上對文件類型的輸出過濾,對哪些后綴的進行選擇性壓縮。

  1. AddOutputFilterByType DEFLATE text/html text/plain  text/xml application/x-httpd-php 
  2. AddOutputFilter DEFLATE css js txt php xml html htm 

如果沒有權限修改php.ini文件我們可以常用使用phpr ini_set函數來操作,如:

  1. <?php 
  2. ini_set("zlib.output_compression""On"); 
  3. ?> 
  4. <?php 
  5. ini_set("zlib.output_compression", 4096); 
  6. ?> 

好了現在萬事具備了我們來入正文件,壓縮swf文件:

  1. <?php 
  2. //文件名  
  3. $filename = "test.swf";  
  4. //打開文件  
  5. $rs = fopen($filename,"r");  
  6. //讀取文件的數據  
  7. $str = fread($rs,filesize($filename));  
  8. //設置swf頭文件  
  9. $head = substr($str,1,8);  
  10. $head = "C".$head;  
  11. //獲取swf文件內容  
  12. $body = substr($str,8);  
  13. //壓縮文件內容,使用最高壓縮級別9  
  14. $body = gzcompress($body, 9);  
  15. //合并文件頭和內容  
  16. $str = $head.$body;  
  17. //關閉讀取的文件流  
  18. fclose($rs);  
  19. //創建一個新的文件  
  20. $ws = fopen("create.swf","w");  
  21. //寫文件  
  22. fwrite($ws,$str);  
  23. //關閉文件留  
  24. fclose($ws); 
  25. ?> 

解壓flash swf文件

  1. <?php 
  2. //文件名  
  3. $filename = "test.swf";  
  4. //打開文件  
  5. $rs = fopen($filename,"r");  
  6. //讀取文件的數據  
  7. $str = fread($rs,filesize($filename));  
  8. //設置swf頭文件  
  9. $head = substr($str,1,8);  
  10. $head = "F".$head;  
  11. //獲取swf文件內容  
  12. $body = substr($str,8);  
  13. //解壓縮文件內容  
  14. $body = gzuncompress($body);  
  15. //合并文件頭和內容  
  16. $str = $head.$body;  
  17. //關閉讀取的文件流  
  18. fclose($rs);  
  19. //創建一個新的文件  
  20. $ws = fopen("create.swf","w");  
  21. //寫文件  
  22. fwrite($ws,$str);  
  23. //關閉文件留  
  24. fclose($ws);  
  25. ?> 

注意:gzip數據頭比zlib數據頭要大,因為它保存了文件名和其他文件系統信息,事實上這是廣泛使用的gzip文件的數據頭格式。注意zlib函式庫本身不能創建一個gzip文件,但是它相當輕松的通過把壓縮數據寫入到一個有gzip文件頭的文件中。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 小金县| 香港| 平乐县| 日照市| 大竹县| 满城县| 阳原县| 新泰市| 永吉县| 高州市| 新蔡县| 贡嘎县| 峨边| 新宾| 阜平县| 留坝县| 沅江市| 马鞍山市| 浮梁县| 论坛| 百色市| 康保县| 虹口区| 天峨县| 普定县| 长沙县| 敦煌市| 汕头市| 日喀则市| 蚌埠市| 鹤壁市| 漾濞| 金寨县| 麻城市| 扎囊县| 武川县| 简阳市| 旺苍县| 景泰县| 邯郸县| 孝义市|