slicing($imgs,$temp_dir,$cdn_host,$origin_dir); } public static function get_video_thumb($location,$time){ $kr = null; switch ($GLOBALS['_lang']['global_storage']) { case 'qiniu': require_once __DIR__.'/../qiniu/cls_qiniu.php'; $kr = new qiniu(); break; case 'oss': require_once __DIR__.'/../oss/cls_oss.php'; $kr = new Oss(); break; } return $kr==null?null:$kr->video_thumb($location,$time); } private function slicing($imgs,$temp_dir,$cdn_host,$origin_dir){ // $mime_type = finfo_open(FILEINFO_MIME_TYPE); $path=""; $scenes = array(); $imgsmain = array(); foreach ($imgs as $img) { $obj = $img['imgsrc']; $view_uuid=Common::guid(16); $rpos = strrpos($obj,"/"); //计算云存储上的原始文件名,为下次升级素材管理时,针对单张全景图生成预览 $temp_name = substr($obj, $rpos==0?$rpos:$rpos+1); $file = $this->downloadFile($obj,$temp_dir.$temp_name); if($file!=null){ $info = getimagesize($file); if(($info['0']/$info['1']==2)&&( (strpos("image/jpeg",$info['mime'])===0)||(strpos("image/tif", $info['mime'])===0))){ $filename = $img['imgname']; if (strpos($filename, ".jpg")) { $filename = substr($filename , 0 , strrpos($filename , ".")); } if (mb_strlen($filename)) { $filename = substr($filename, 0,100); } //生成最终文件,合并生成整个项目全景图 $final_name = $temp_dir.$view_uuid.substr($obj,strrpos($obj,".")); rename($temp_dir.$temp_name, $final_name ); $path=$path.$final_name." "; $source = array( 'filename' =>$filename, 'location' =>$cdn_host.$obj, 'thumb_path'=>$cdn_host.$origin_dir.$view_uuid."/thumb.jpg", 'view_uuid' =>$view_uuid ); $imgsmain[] = $source; } // if(!(strpos("image/jpeg",$info['mime'])===0)&& !(strpos("image/tif", $info['mime'])===0)||($info['0']/$info['1']!=2)){ // }else{ // } } } if ($path!="") { //echo KRPANO." ".$path;die; //执行切图 exec(KRPANO." ".$path.""); //上传切好图的整个目录到服务器 $dir = $temp_dir."vtour/panos/"; $this ->upload($dir,$origin_dir); // $this->uploadDir($temp_dir."/vtour/panos" , $origin_dir); } return $imgsmain; } private function upload($dir,$origin_file){ if(is_dir($dir)) { if ($dh = opendir($dir)) { while (($file = readdir($dh)) !== false) { if((is_dir($dir.$file)) && $file!="." && $file!="..") { //目录 $this->upload($dir.$file."/",$origin_file.$file."/"); } else { if($file!="." && $file!="..") { //上传文件 $this->uploadFile($dir.$file ,$origin_file.$file); } } } closedir($dh); } } } } ?>