好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

ThinkPHP3.0略缩图不能保存到子目录 - Thinkphp

ThinkPHP3.0略缩图不能保存到子目录

THINKPHP3.0上传文件后略缩图不能保存到子目录,是因为UploadFile.class.php这个上传类中getSubName()函数只能创建原图的子目录而不能创建略缩图的子目录,可以说是BUG。

解决办法一:ThinkPHP官方提供的办法,我并没有测试过: 升级到ThinkPHP3.1最新的UploadFile.class.php(https://github.com/liu21st/extend/tree/master/Extend/Library/ORG/Net),下载后替换原来的UploadFile.class.php

解决办法二: 修改UploadFile.class.php的部分代码,这是自己做的解决办法,增加一个略缩图的子目录生成函数:

步骤1>>UploadFile.class.php中模仿getSubName()函数创建一个getThumbSubName()函数:

private   function  getThumbSubName( $file ) {     switch ( $this ->subType) {        case   'date' :         $dir  =  date ( $this ->dateFormat,time());          break ;        case   'hash' :        default :          $name  = md5( $this ->thumbPath);         $dir  =  '' ;          for ( $i =0; $i < $this ->hashLevel; $i ++) {            $dir  .=  $name { $i }. '/' ;         }         break ;    }      if (! is_dir (( $this ->thumbPath). $dir )) {       mkdir (( $this ->thumbPath). $dir );     }      return   $dir ;  } 

步骤2>>UploadFile.class.php中158行改为

$thumbPath = $this->thumbPath?$this->thumbPath.($this->autoSub?$this->getThumbSubName($file).'/':''):$file['savepath'];

查看更多关于ThinkPHP3.0略缩图不能保存到子目录 - Thinkphp的详细内容...

  阅读:86次