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;$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'];
|
http://www.bkjia.com/PHPjc/632175.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/632175.htmlTechArticleTHINKPHP3.0上传文件后略缩图不能保存到子目录,是因为UploadFile.class.php这个上传类中getSubName()函数只能创建原图的子目录而不能创建略缩图的...
Stellungnahme:Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn