解压缩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); }(责任编辑:最模板) |