Home  >  Article  >  php教程  >  ThinkPHP3.0略缩图不能保存到子目录的解决方法

ThinkPHP3.0略缩图不能保存到子目录的解决方法

WBOY
WBOYOriginal
2016-06-13 11:57:25901browse

解决办法一(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;$ihashLevel;$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'];


最后问题解决!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn