PHP压缩编码和解压

  1. <?php   
  2. function encode_file_contents($filename) {  
  3.      $type = strtolower(substr(strrchr($filename'.'),1));  
  4.      if('php'==$type && is_file($filename) && is_writeable($filename)) {  
  5.              // 如果是PHP文件 并且可写 则进行压缩编码  
  6.      $contents     =     file_get_contents($filename);  
  7.              // 判断文件是否已经被编码处理  
  8.      $pos = strpos($contents,'/*Protected by ThinkPHP Cryptation*/');  
  9.              if( false === $pos     || $pos>100 ) {  
  10.                  // 去除PHP文件注释和空白,减少文件大小  
  11.          $contents     =     php_strip_whitespace($filename);  
  12.                  // 去除PHP头部和尾部标识  
  13.          $headerPos     =     strpos($contents,'<?php');  
  14.                  $footerPos     =     strrpos($contents,'?>');  
  15.                  $contents     =     substr($contents,$headerPos+5,$footerPos-$headerPos);  
  16.                  // 对文件内容进行编码存储  
  17. $encode     =     base64_encode(gzdeflate($contents));  
  18.                  $encode     = '<?php'." /*Protected by ThinkPHP Cryptation*/n$cryptCode='".$encode."';eval(gzinflate(base64_decode($cryptCode)));n /*Reverse engineering is illegal and strictly prohibited - (C) ThinkPHP Cryptation 2006*/n?>";  
  19.                  // 重新写入编码后内容  
  20.          return file_put_contents($filename,$encode);  
  21.              }      
  22.      }  
  23.      return false;  
  24. }  
  25. ?>

解压代码

  1. <?php  
  2. $Code = '这里是要解密的base64编码';  
  3. $File = 'test.php';  
  4. $Temp = base64_decode($code);  
  5. $temp = gzinflate($Temp);  
  6. $FP = fopen($File,"w");  
  7. fwrite($FP,$Temp);  
  8. fclose($FP);  
  9. ?>  

关键词: 学习 , php

上一篇: 项目终于是搞定了
下一篇: 被骗了一次,呼呼,IIS6溢出....

相关文章
访客评论
#1
回复 angel 2007-04-12, 20:01:48
ThinkPHP是个不错的东西
#2
回复 kiki 2007-04-13, 08:43:54
angel都说好了,那一定不错了。
发表评论

评论内容 (必填):