Esempio n. 1
0
 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;
 }