public static function stored_remote($temp, $data, $param) { global $_G; //连接 FTP $ftp = new ClsFTP($_G['setting']['attach']['FTP_USER'], $_G['setting']['attach']['FTP_PASS'], $_G['setting']['attach']['FTP_HOST'], $_G['setting']['attach']['FTP_PORT']); //FTP 模式 $ftp->pasv($_G['setting']['attach']['FTP_PASV'] == 'true'); //创建子文件夹 $dir = $_G['setting']['attach']['FTP_ROOT'] . '/' . $data['type']; //创建根目录 $ftp->mkdir($dir); //创建年文件夹 $ftp->mkdir($dir . "/" . date("Y/")); //创建月日文件夹 $ftp->mkdir($dir . "/" . date("Y/md/")); //添加标识符 $mark = $param['origin'] ? $param['origin']['width'] . '-' . $param['origin']['height'] : mt_rand(); //新文件名称 $name = date("Y/md/") . "/" . date("H-i-s-") . $mark . "." . $data['extra']; /*****************/ if ($data['type'] == 'image') { //缩略图 $t = new ThumbHandler(); //生成缩略 if (is_array($param['thumb']) && $param['thumb'][0] > 0) { $local = fix_thumb($temp); //源图片地址 $t->setSrcImg($temp); //输出文件名 $t->setDstImg($local); //给缩略_打上水印 if ($param['water'] && $param['thumb'][0] / $param['water']['width'] > $param['multiple'] && $param['thumb'][1] / $param['water']['height'] > $param['multiple']) { $t->setMaskImg($param['watermark']); $t->setMaskPosition($param['position']); } //生成图片 $t->createImg($param['thumb'][0], $param['thumb'][1]); //上传文件 $post = $ftp->put($dir . '/' . fix_thumb($name), $local); //删除临时文件 unlink($local); } /* var_dump( $temp ); var_dump( fix_thumb( $temp ) ); var_dump( $dir.'/'.fix_thumb( $name ) ); exit; exit; */ //生成组图 if (is_array($param['group'])) { foreach ($param['group'] as $g) { $thumb = explode("*", $g); if (is_array($thumb) && $thumb[0] > 0) { $local = fix_thumb($temp, $thumb); //源图片地址 $t->setSrcImg($temp); //输出文件名 $t->setDstImg($local); //给组图_打上水印 if ($param['water'] && $thumb[0] / $param['water']['width'] > $param['multiple'] && $thumb[1] / $param['water']['height'] > $param['multiple']) { $t->setMaskImg($param['watermark']); $t->setMaskPosition($param['position']); } //生成图片 $t->createImg($thumb[0], $thumb[1]); //上传文件 $post = $ftp->put($dir . '/' . fix_thumb($name, $thumb), $local); //删除临时文件 unlink($local); } } } //裁切原图 if (is_array($param['crop']) && $param['crop'][0] > 0) { //源图片地址 $t->setSrcImg($temp); //输出文件名 $t->setDstImg($temp); //生成图片 $t->createImg($param['crop'][0], $param['crop'][1]); list($param['origin']['width'], $param['origin']['height']) = $param['crop']; } //给原图_打上水印 if ($param['water'] && $param['origin']['width'] / $param['water']['width'] > $param['multiple'] && $param['origin']['height'] / $param['water']['height'] > $param['multiple']) { //源图片地址 $t->setSrcImg($temp); //输出文件名 $t->setDstImg($temp); $t->setMaskImg($param['watermark']); $t->setMaskPosition($param['position']); //生成图片 $t->createImg(100); } } /*****************/ //上传文件 $post = $ftp->put($dir . "/" . $name, $temp); //绝对地址 $file = url_merge($_G['setting']["attach"]["FTP_SITE"] . '/' . $data['type'] . '/' . $name); //关闭 FTP $ftp->close(); return $file; }