ThinkPHP上传图片代码实现

  1. ThinkPHP上传图片代码实现


  2. import("@.ORG.UploadFile");

  3. //导入上传类

  4. $upload = new UploadFile();

  5. //设置上传文件大小

  6. $upload->maxSize = 3292200;

  7. //设置上传文件类型

  8. $upload->allowExts = explode(',', 'jpg,gif,png,jpeg');

  9. //设置附件上传目录

  10. $upload->savePath = './Uploads/';

  11. //设置需要生成缩略图,仅对图像文件有效

  12. $upload->thumb = true;

  13. // 设置引用图片类库包路径

  14. $upload->imageClassPath = '@.ORG.Image';

  15. //设置需要生成缩略图的文件后缀

  16. $upload->thumbPrefix = 'm_,s_';  //生产2张缩略图

  17. //设置缩略图最大宽度

  18. $upload->thumbMaxWidth = '400,100';

  19. //设置缩略图最大高度

  20. $upload->thumbMaxHeight = '400,100';

  21. //设置上传文件规则

  22. $upload->saveRule = 'uniqid';

  23. //删除原图

  24. $upload->thumbRemoveOrigin = true;

  25. if (!$upload->upload()) {

  26.     //捕获上传异常

  27.     $this->error($upload->getErrorMsg());

  28. } else {

  29.     //取得成功上传的文件信息

  30.     $uploadList = $upload->getUploadFileInfo();

  31.     import("@.ORG.Image");

  32.     //给m_缩略图添加水印, Image::water('原文件名','水印图片地址')

  33.     Image::water($uploadList[0]['savepath'] . 'm_' . $uploadList[0]['savename'], APP_PATH.'Tpl/Public/Images/logo.png');

  34.     $_POST['image'] = $uploadList[0]['savename'];

  35. }