UploadServer.class.php 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. <?php
  2. /**
  3. * Description of UploadServer 文件上传模块
  4. *
  5. */
  6. namespace Common\Server;
  7. class UploadServer {
  8. public function __construct() {
  9. $this->exts = array('jpg', 'gif', 'png', 'jpeg'); // 设置附件上传类型
  10. }
  11. /**
  12. * 图像上传与裁剪
  13. * @param type $imgpath 图像存放的位置 根目录
  14. * @param str $saveName 保存文件名
  15. * @param type $maxWidth 图像存放的位置 子目录
  16. * @param bool $savepath 需要生成缩略图,true生成缩略图,false不生成 默认true
  17. * @return array
  18. */
  19. function uploadImg($imgpath, $saveName) {
  20. $config = array(
  21. 'maxSize' => 3145728,
  22. 'savePath' => $imgpath,
  23. 'saveName' => $saveName,
  24. 'exts' => array('jpg', 'gif', 'png', 'jpeg'),
  25. );
  26. $upload = new \Think\Upload($config);
  27. $rootPath = 'Public/upload/';
  28. $info = $upload->upload();
  29. if ($info) {
  30. foreach ($info as $key => $val) {
  31. $results[$key]['img_url'] = $rootPath .$info[$key]['savepath'] . $val['savename'];
  32. }
  33. }
  34. header("Last-Modified: " . gmdate("D, d M Y H:i:s") . "GMT");
  35. header("Cache-Control: no-cache, must-revalidate");
  36. return $results;
  37. }
  38. //上传单图到又拍云
  39. public function img_upyun($pic_url) {
  40. $upyun = new \Common\Common\util\UpYun(UPYUN_BUCKET, UPYUN_NAME, UPYUN_PWD);
  41. if (strpos($pic_url, ROOT_PATH) === false) {
  42. $path = ROOT_PATH . '/' . $pic_url;
  43. } else {
  44. $path = $pic_url;
  45. }
  46. try {
  47. $fh = fopen($path, 'rb');
  48. $img_str = end(explode('/', $path));
  49. $img_arr = explode('.', $img_str);
  50. $img_name = md5($path . time()); //重新命名图片名称
  51. $img_path = '/' . date("Y") .'/'. date("m") .'/'. date("d") . '/';
  52. $rsp = $upyun->writeFile('/' . $img_path . $img_name . '.' . end($img_arr), $fh, True); // 上传图片,自动创建目录
  53. fclose($fh);
  54. unlink($pic_url);
  55. $img = UPYUN_DOMAIN . $img_path . $img_name . '.' . end($img_arr);
  56. return $img;
  57. } catch (\Exception $e) {
  58. cplog('图片上传到upyun错误:'.var_export($e->getMessage(),true));
  59. return false;
  60. }
  61. }
  62. }