服务报价 | 域名主机 | 网络营销 | 软件工具| [加入收藏]
 热线电话: #
当前位置: 主页 > php教程 > php教程 >

PHP函数之解压缩base64 压缩文件

时间:2016-07-31 22:22来源:未知 作者:最模板 点击:
解压缩base64 压缩文件,稍微解释一下,比如你有一个pdf文件,使用软件压缩成了.gz格式的文件,然后再把这个文件做成了basa64 String 传输给某个人,比如这个人就是我,好吧,问题来了

解压缩base64 压缩文件,稍微解释一下,比如你有一个pdf文件,使用软件压缩成了.gz格式的文件,然后再把这个文件做成了basa64 String 传输给某个人,比如这个人就是我,好吧,问题来了,我们要实现一个过程,就是反解这个文件,将base64 string 转成 .gz文件,然后再把.gz文件解压。

function actionPdf(){
    $pdf_base64 = BASE64_DATA_PATH;
    //Get File content from txt file
    $pdf_base64_handler = fopen($pdf_base64,'r');
    $pdf_content = fread ($pdf_base64_handler,filesize($pdf_base64));
    fclose ($pdf_base64_handler);
    //Decode pdf content
    $pdf_decoded = base64_decode ($pdf_content);
    //Write data back to pdf file
    $pdf = fopen (PDF_FILE_PATH,'w');
    fwrite ($pdf,$pdf_decoded);
    //close output file
    fclose ($pdf);

    // This input should be from somewhere else, hard-coded in this example
    $file_name = PDF_FILE_PATH;

    // Raising this value may increase performance
    $buffer_size = 4096; // read 4kb at a time
    $out_file_name = str_replace('.gz', '', $file_name);

    // Open our files (in binary mode)
    $file = gzopen($file_name, 'rb');
    $out_file = fopen($out_file_name, 'wb');

    // Keep repeating until the end of the input file
    while(!gzeof($file)) {
        // Read buffer-size bytes
        // Both fwrite and gzread and binary-safe
        fwrite($out_file, gzread($file, $buffer_size));
    }

    // Files are done, close files
    fclose($out_file);
    gzclose($file);


    // $base64Data = file_get_contents(BASE64_DATA_PATH);
    // $data = base64_decode($base64Data);
    // file_put_contents(PDF_FILE_PATH,$data);
}
(责任编辑:最模板)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
热点内容