uploader.php 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: stanley-king
  5. * Date: 2017/9/26
  6. * Time: 上午11:06
  7. */
  8. class uploader
  9. {
  10. public function upfileOp()
  11. {
  12. $file_path = $this->file_path();
  13. $member_id = $_SESSION['member_id'];
  14. $file_name = $this->upfile($file_path,$err);
  15. if($file_name == false) {
  16. return self::outerr(errcode::ErrUploadFileFailed);
  17. }
  18. $file_path = DS.$member_id.DS.$file_name;
  19. $ret = Model("member")->editMember(array('member_id' => $member_id),array('member_avatar' => $file_path));
  20. if ($ret) {
  21. $_SESSION['member_avatar'] = $file_path;
  22. $url = UPLOAD_SITE_URL . "/shop/avatar{$file_path}";
  23. return self::outsuccess(array('member_avatar' => $url));
  24. } else {
  25. return self::outerr(errcode::ErrDB);
  26. }
  27. }
  28. private function upfile($img,&$err)
  29. {
  30. $member_id = $_SESSION['member_id'];
  31. $upload = new FileUploader();
  32. if($upload->init_files($img,$member_id,$err) == false) {
  33. return false;
  34. }
  35. $upload_dir = ATTACH_AVATAR.DS.$member_id.DS;
  36. $upload->set('default_dir',$upload_dir.$upload->getSysSetPath());
  37. $thumb_width = '480,1024';
  38. $thumb_height = '480,1024';
  39. $upload->set('max_size',C('image_max_filesize'));
  40. $upload->set('thumb_width', $thumb_width);
  41. $upload->set('thumb_height',$thumb_height);
  42. $upload->set('fprefix',$member_id);
  43. $upload->set('thumb_ext', '_240,_1024');
  44. $result = $upload->upfile('file');
  45. if($result == true) {
  46. return $upload->file_name;
  47. } else {
  48. $err = array('code' => errcode::ErrUpfile, 'msg' => $upload->error);
  49. return false;
  50. }
  51. }
  52. private function file_path()
  53. {
  54. $file_path = $_POST["file_path"];
  55. if(file_exists($file_path) == false) {
  56. $file_path = BASE_ROOT_PATH . '/data/upload/upfile' . $file_path;
  57. }
  58. return $file_path;
  59. }
  60. }