DEDECMS教程
2021-08-30
这里有个BUG,上传的压缩包文件无法被读取解决方法打开 /dede/file_class.php 找到,大概在161行else if(substr($filename, -strlen($fileexp))===$fileexp)无论161行是什么,都
织梦CMS" src="https://im.25qi.com/d/file/zmcms/202108301-210203154505W6.png" />
这里有个BUG,上传的压缩包文件无法被读取
解决方法
打开 /dede/file_class.php 找到,大概在161行
else if(substr($filename, -strlen($fileexp))===$fileexp)
无论161行是什么,都改成
else if(preg_match("/\.(".$fileexp.")$/i", $filename))
继续打开 /include/zip.class.php 找到,26行的
$ret = '';
改成
$ret = array();
继续找到,大概在469行的
$byte = @fread($zip, 1); $bytes=($bytes << 8) | Ord($byte);
改成
$byte = @fread($zip, 1); $bytes=(($bytes << 40)>>32)| ord($byte);
完成,重新选择压缩包提交就可以了
自动获取压缩包里图片的名称
如果想要让每个图片都自动获取压缩包里图片的名称的话,你可以这样做
打开 /dede/album_add.php 找到,大概在201行
$imgurls .= "{dede:img ddimg='$litpicname' text='' width='".$imginfos[0]."' height='".$imginfos[1]."'} $iurl {/dede:img}\r\n";
改成
$imginfo = gb2utf8(basename(substr($imgold, 0, strrpos($imgold, "."))));$imgurls .= "{dede:img ddimg='$litpicname' text='$imginfo' width='".$imginfos[0]."' height='".$imginfos[1]."'} $iurl {/dede:img}\r\n";
如图
最终效果
显示全部内容...