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

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

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

  2021-03-19 我要评论
想了解ThinkPHP3.0略缩图不能保存到子目录的解决办法的相关内容吗,在本文为您仔细讲解略缩图不能保存到子目录的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:ThinkPHP,略缩图,子目录,下面大家一起来学习吧。

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

最后问题解决!

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们