• 技术文章 >后端开发 >php教程

    PHP base64+gzinflate压缩编码和解码代码_PHP

    2016-06-01 12:24:00原创561
    base64+gzinflate压缩编码(加密)过的文件通常是以
    压缩编码(加密)代码:
    复制代码 代码如下:
    function encode_file_contents($filename) {
    $type=strtolower(substr(strrchr($filename,'.'),1));
    if('php'==$type && is_file($filename) && is_writable($filename)){// 如果是PHP文件 并且可写 则进行压缩编码
    $contents = file_get_contents($filename);// 判断文件是否已经被编码处理
    $pos = strpos($contents,'/*Protected by 草名 http://www.crazyi.cn Cryptation*/');
    if(false === $pos || $pos>100){ // 去除PHP文件注释和空白,减少文件大小
    $contents = php_strip_whitespace($filename);
    // 去除PHP头部和尾部标识
    $headerPos = strpos($contents,'$footerPos = strrpos($contents,'?>');
    $contents = substr($contents,$headerPos+5,$footerPos-$headerPos);
    $encode = base64_encode(gzdeflate($contents));// 开始编码
    $encode = '";
    return file_put_contents($filename,$encode);
    }
    }
    return false;
    }
    //调用函数
    $filename='g:\我的文档\桌面\test.php';
    encode_file_contents($filename);
    ?>
    function encode_file_contents($filename) {
    $type=strtolower(substr(strrchr($filename,'.'),1));
    if('php'==$type && is_file($filename) && is_writable($filename)){// 如果是PHP文件 并且可写 则进行压缩编码
    $contents = file_get_contents($filename);// 判断文件是否已经被编码处理
    $pos = strpos($contents,'/*Protected by 草名 http://www.crazyi.cn Cryptation*/');
    if(false === $pos || $pos>100){ // 去除PHP文件注释和空白,减少文件大小
    $contents = php_strip_whitespace($filename);
    // 去除PHP头部和尾部标识
    $headerPos = strpos($contents,'$footerPos = strrpos($contents,'?>');
    $contents = substr($contents,$headerPos+5,$footerPos-$headerPos);
    $encode = base64_encode(gzdeflate($contents));// 开始编码
    $encode = '";
    return file_put_contents($filename,$encode);
    }
    }
    return false;
    }
    //调用函数
    $filename='g:\我的文档\桌面\test.php';
    encode_file_contents($filename);
    ?>


    压缩解码(解密)代码:
    复制代码 代码如下:
    $Code = '这里填写要解密的编码'; // base64编码
    $File = 'test.php';//解码后保存的文件
    $Temp = base64_decode($Code);
    $temp = gzinflate($Temp);
    $FP = fopen($File,"w");
    fwrite($FP,$temp);
    fclose($FP);
    echo "解密成功!";
    ?>
    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:PHP base64 gzinflate
    上一篇:php 301转向实现代码_PHP 下一篇:PHP面向对象分析设计的经验原则_PHP
    Web大前端开发直播班

    相关文章推荐

    • 急关于php返回xml信息的有关问题 • 哪位高手告诉小弟我PHP 5系列与PHP 4系列有什么不同 • Composer PHP依赖管理的新时代• [求助]zend studio怎么调试• 求一段php取值代码

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网