/** * 将需要的文件复制到压缩目录下 * * @param object $info * @param String $dir * @return Boolean */ public function zipProcessFile($info, $dir) { //import("@.Browse.Object"); import("@.File.FileLog"); //$info = Object::isUserAuthorized($objid,"view"); if (!$info || $info['object_type'] != 2) { return false; } $objid = $info['id']; $userid = $info['userid']; $fileName = $info['name']; $version = $info['version']; $filehDao = new File_historyDao(); $vo = $filehDao->find("objectid={$objid} and version={$version}", null, "id,md5sum"); if (!$vo) { return false; } $filePath = Tools::getStoragePath(DATA_DIR, $vo->id); if (md5_file($filePath) != $vo->md5sum) { FileLog::logEvent('OBJ_CHECKSUM_VERIFY_FAIL', $objid, null, $userid); return false; } if (Session::is_set('CLAMAV_SUPPORT')) { $r = Tools::clamAvScan(stripslashes($filePath)); if ($r === FALSE) { FileLog::logEvent('OBJ_VIRUS_ERROR', $objid, null, $userid); } elseif ($r == "clean") { FileLog::logEvent('OBJ_VIRUS_PASS', $objid, null, $userid); } else { FileLog::logEvent('OBJ_VIRUS_FAIL', $objid, null, $userid); return false; } } $fileName = Tools::convertCharset($fileName); $destFileName = "{$dir}/{$fileName}"; @copy($filePath, $destFileName); FileLog::logEvent('OBJ_VIEWED', $objid, null, $userid); return true; }