public static function create($f3, $md5, $filename) { $compression = $f3->get("UPLOAD.compression"); $path = PFH_MD5::get_file_path($f3, $md5, $filename); $file_name = PFH_MD5::get_file_name($f3, $md5, $filename); $path_archive = $path . "." . self::$ext[$compression]; //echo $path_archive; //throw "1212"; if ($compression === "ZIP") { $archive = new ZipArchive(); //$za->open($path_zip); if ($archive->open($path_archive, ZipArchive::CREATE) !== TRUE) { exit("cannot open <{$path_archive}>\n"); } //echo "建立了zip檔案"; $file_name = PFH_MD5::get_file_name($f3, $md5); $archive->addFile($path, $file_name); $archive->close(); //echo 12121212; //throw new Exception($file_name."|".$path_archive); } else { if ($compression === "BZIP") { $in_file = fopen($path, "r"); $out_file = bzopen($path_archive, "w"); while (!feof($in_file)) { $buffer = fgets($in_file, 4096); bzwrite($out_file, $buffer, 4096); } fclose($in_file); bzclose($out_file); } } //echo "準備刪除檔案:$path"; unlink($path); //echo "準備移動檔案:$path_zip"; // 不重新命名 //rename($path_archive, $path); return $path_archive; }