屏蔽生成缩略图错误的图片格式
parent
4a43eb7d1d
commit
124ea5c1b1
17
README.md
17
README.md
|
@ -94,6 +94,7 @@ Deny from all
|
|||
- 增加以源文件名称命名
|
||||
- 增加缩略图两种生成方式和开关
|
||||
- 修复开启前端压缩导致的上传图片异常
|
||||
- 屏蔽因缺少PHP扩展而不能生成缩略图的格式
|
||||
|
||||
|
||||
* 2021-12-25 v2.4.4
|
||||
|
@ -268,6 +269,8 @@ RewriteRule config/(.*).(php)$ – [F]
|
|||
|
||||
<details><summary><mark><font color=darkred>与1.6.4版本差别</font></mark></summary>
|
||||
|
||||
##### 不建议再使用 [EasyImage 1.6.4版本](https://github.com/icret/easyImages)
|
||||
|
||||
- 在继承上个版本([1.6.4](https://github.com/icret/easyImages "1.6.4"))的基础上进行了全新优化
|
||||
- 修复上传经常失败的问题
|
||||
- 删除一些不常用但会增加功耗的过程 (删除的在下边会有标记)
|
||||
|
@ -284,17 +287,13 @@ RewriteRule config/(.*).(php)$ – [F]
|
|||
|
||||
</details>
|
||||
|
||||
|
||||
不建议再使用 [EasyImage 1.6.4版本](https://github.com/icret/easyImages)
|
||||
|
||||
<hr />
|
||||
|
||||
#### 兼容性
|
||||
PHP推荐使用PHP7.0及以上版本,需要PHP支持Fileinfo、iconv、zip、mbstring、openssl 扩展,如果缺失会导致无法访问管理面板以及上传/删除图片。
|
||||
|
||||
文件上传视图提供文件列表管理和文件批量上传功能,允许拖拽(需要 HTML5 支持)来添加上传文件,支持上传大图片,优先使用 HTML5,旧的浏览器自动使用Flash和Silverlight的方式兼容。
|
||||
- `PHP>5.6`,推荐使用`PHP7.0`及以上版本,需要PHP支持`Fileinfo,iconv,zip,mbstring,openssl`扩展,如果缺失会导致无法上传/删除图片
|
||||
- 文件上传视图提供文件列表管理和文件批量上传功能,允许拖拽(需要`HTML5`支持)来添加上传文件,支持上传大图片,优先使用`HTML5`旧得浏览器自动使用`Flash和Silverlight`的方式兼容
|
||||
|
||||
<hr />
|
||||
|
||||
- 感谢: [verot](https://github.com/verot/class.upload.php "verot" )提供非常好用的class.upload.php上传类
|
||||
- 感谢: [ZUI](https://github.com/easysoft/zui "ZUI" ) 提供css框架
|
||||
- 本源码遵循 GNU Public License
|
||||
- 感谢: [ZUI](https://github.com/easysoft/zui "ZUI" ) 提供前端框架
|
||||
- [使用 GPL-3.0 开源许可协议](https://github.com/icret/EasyImages2.0/blob/master/LICENSE)
|
|
@ -196,10 +196,11 @@ if (isset($_POST['radio'])) {
|
|||
<label>转换图片为指定格式<?php echo $config['imgConvert']; ?></label>
|
||||
<select class="chosen-select form-control" name="imgConvert">
|
||||
<option value="" <?php if (empty($config['imgConvert'])) {echo 'selected';} ?>>不转换</option>
|
||||
<option value="png" <?php if ($config['imgConvert']=='png') {echo 'selected';} ?>>png</option>
|
||||
<option value="jpeg"<?php if ($config['imgConvert']=='jpeg') {echo 'selected';} ?>>jpeg</option>
|
||||
<option value="gif" <?php if ($config['imgConvert']=='gif') {echo 'selected';} ?>>gif</option>
|
||||
<option value="bmp" <?php if ($config['imgConvert']=='bmp') {echo 'selected';} ?>>bmp</option>
|
||||
<option value="webp" <?php if ($config['imgConvert']=='webp') {echo 'selected';} ?>>WEBP</option>
|
||||
<option value="png" <?php if ($config['imgConvert']=='png') {echo 'selected';} ?>>PNG</option>
|
||||
<option value="jpeg"<?php if ($config['imgConvert']=='jpeg') {echo 'selected';} ?>>JPG</option>
|
||||
<option value="gif" <?php if ($config['imgConvert']=='gif') {echo 'selected';} ?>>GIF</option>
|
||||
<option value="bmp" <?php if ($config['imgConvert']=='bmp') {echo 'selected';} ?>>BMP</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
|
@ -307,7 +308,7 @@ if (isset($_POST['radio'])) {
|
|||
<div class="switch">
|
||||
<input type="hidden" name="compress" value="0">
|
||||
<input type="checkbox" name="compress" value="1" <?php if ($config['compress']) {echo 'checked="checked"';} ?> title=" 轻微有损压缩图片, 此压缩有可能使图片变大!特别是小图片 也有一定概率改变图片方向">
|
||||
<label style="font-weight: bold">后端压缩图片 - 效果好于前端</label>
|
||||
<label style="font-weight: bold">后端压缩上传图片 - 效果好于前端 增加服务器开销</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
|
@ -321,7 +322,7 @@ if (isset($_POST['radio'])) {
|
|||
<input type="radio" name="thumbnail" value="1" <?php if($config['thumbnail']===1){echo 'checked="checked"';}?> id="thumbnail1"><label for="thumbnail1"> 实时生成 - 每次都会请求服务器,不会影响广场页面布局但会增加服务器开销</label>
|
||||
</div>
|
||||
<div class="radio-primary">
|
||||
<input type="radio" name="thumbnail" value="2" <?php if($config['thumbnail']===2){echo 'checked="checked"';}?> id="thumbnail2"><label for="thumbnail2"> 客户浏览广场时生成 - 每日首张缩略图会使首次访问广场页面布局异常[刷新即可]</label>
|
||||
<input type="radio" name="thumbnail" value="2" <?php if($config['thumbnail']===2){echo 'checked="checked"';}?> id="thumbnail2"><label for="thumbnail2"> 客户浏览广场时生成 - 每日首张缩略图生成会使广场页面代码布局异常[刷新即可]</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
|
|
|
@ -56,7 +56,7 @@ if (!is_file(APP_ROOT . '/config/EasyIamge.lock')) {
|
|||
echo '<font color="green">upload_max_filesize</font> - PHP上传最大值:' . ini_get('upload_max_filesize');
|
||||
echo '<br /><font color="green">post_max_size</font> - POST上传最大值:' . ini_get('post_max_size') . '<br />';
|
||||
// 扩展检测
|
||||
$expand = array('fileinfo', 'gd', 'openssl',);
|
||||
$expand = array('fileinfo', 'gd', 'openssl','imagick');
|
||||
foreach ($expand as $val) {
|
||||
if (extension_loaded($val)) {
|
||||
echo '
|
||||
|
|
|
@ -239,7 +239,7 @@ function getFile($dir)
|
|||
//去掉"“.”、“..”以及带“.xxx”后缀的文件
|
||||
if ($file != "." && $file != ".." && strpos($file, ".")) {
|
||||
$fileArray[$i] = $file;
|
||||
if ($i == 100) {
|
||||
if ($i == 1000) {
|
||||
break;
|
||||
}
|
||||
$i++;
|
||||
|
@ -661,6 +661,11 @@ function creat_thumbnail_by_list($imgUrl)
|
|||
return $config['imgurl'] . $config['path'] . 'thumbnails/' . $imgName;
|
||||
} else {
|
||||
|
||||
// PHP老他妈缺图像扩展支持,不是缺webp就是缺ico,总不能都他妈装上吧,直接把这些二货扩展名忽略
|
||||
if (!in_array(pathinfo(basename($pathName), PATHINFO_EXTENSION), array('png', 'gif', 'jpeg', 'jpg'))) {
|
||||
return $imgUrl;
|
||||
}
|
||||
|
||||
// 不存在则创建缓存文件并输出文件链接
|
||||
require_once __DIR__ . '/class.thumb.php';
|
||||
|
||||
|
|
|
@ -53,7 +53,7 @@ require_once APP_ROOT . '/application/total_files.php';
|
|||
</li>
|
||||
<li class="<?php echo getActive('list'); ?>">
|
||||
<a href="<?php echo $config['domain']; ?>/application/list.php?date=<?php echo date('Y/m/d/') ?>&num=<?php echo $config['listNumber']; ?>">
|
||||
<i class="icon icon-list"> 广场</i>
|
||||
<i class="icon icon-th"> 广场</i>
|
||||
<span class="label label-badge label-success">
|
||||
<?php echo getFileNumber(APP_ROOT . config_path()); ?></span>
|
||||
</a>
|
||||
|
|
|
@ -21,9 +21,9 @@ $config=Array
|
|||
'textSize'=>16,
|
||||
'textFont'=>'/public/static/hkxzy.ttf',
|
||||
'waterImg'=>'/public/images/watermark.png',
|
||||
'extensions'=>'bmp,jpg,png,tif,gif,pcx,tga,svg,webp,jpeg,tga,svg,ico',
|
||||
'extensions'=>'gif,jpeg,png,tif,bmp,tif,svg,webp,jpg,tga,svg,ico',
|
||||
'compress'=>0,
|
||||
'thumbnail'=>0,
|
||||
'thumbnail'=>2,
|
||||
'imgConvert'=>'',
|
||||
'maxWidth'=>10240,
|
||||
'maxHeight'=>10240,
|
||||
|
@ -71,6 +71,6 @@ $config=Array
|
|||
'form'=>'',
|
||||
'TinyImag_key'=>'',
|
||||
'moderatecontent_key'=>'',
|
||||
'footer'=>'<a href="/admin/terms.php" target="_blank">请勿上传违反中国政策的图片</a>
|
||||
'footer'=>'<a href="/admin/terms.php" target="_blank">请勿上传违反中国政策的图片</a>
|
||||
<i class="icon icon-smile"></i> <br/>'
|
||||
);
|
20
index.php
20
index.php
|
@ -30,45 +30,45 @@ mustLogin();
|
|||
<div class="col-md-10 col-md-offset-1">
|
||||
<ul class="nav nav-tabs">
|
||||
<li class="active">
|
||||
<a href="#" data-target="#tab2Content1" data-toggle="tab">直链</a>
|
||||
<a href="#" data-target="#tab2Content1" data-toggle="tab"><i class="icon icon-link"> 直链</i></a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#" data-target="#tab2Content2" data-toggle="tab">论坛代码</a>
|
||||
<a href="#" data-target="#tab2Content2" data-toggle="tab"><i class="icon icon-chat"> 论坛代码</i></a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#" data-target="#tab2Content3" data-toggle="tab">MarkDown</a>
|
||||
<a href="#" data-target="#tab2Content3" data-toggle="tab"><i class="icon icon-code"> MarkDown</i></a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#" data-target="#tab2Content4" data-toggle="tab">HTML</a>
|
||||
<a href="#" data-target="#tab2Content4" data-toggle="tab"><i class="icon icon-html5"> HTML</i></a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#" data-target="#tab2Content5" data-toggle="tab">删除</a>
|
||||
<a href="#" data-target="#tab2Content5" data-toggle="tab"><i class="icon icon-trash"> 删除</i></a>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="tab-content" style="text-align:right">
|
||||
<div class="tab-pane fade active in" id="tab2Content1">
|
||||
<textarea class="form-control" rows="5" id="links" readonly></textarea>
|
||||
<button class="btn" style="margin-top:10px;" onclick="location.reload()"><i class="icon icon-repeat"></i> 刷新</button>
|
||||
<button class="btn" style="margin-top:10px;" onclick="location.reload()"><i class="icon icon-undo"></i> 刷新</button>
|
||||
<button id="btnLinks" class="btn copyBtn1" data-loading-text="已经复制链接..." style="margin-top:10px;"><i class="icon icon-copy"></i> 复制</button>
|
||||
</div>
|
||||
<div class="tab-pane fade" id="tab2Content2">
|
||||
<textarea class="form-control" rows="5" id="bbscode" readonly></textarea>
|
||||
<button class="btn" style="margin-top:10px;" onclick="location.reload()"><i class="icon icon-repeat"></i> 刷新</button>
|
||||
<button class="btn" style="margin-top:10px;" onclick="location.reload()"><i class="icon icon-undo"></i> 刷新</button>
|
||||
<button id="btnBbscode" class="btn copyBtn2" data-loading-text="已经复制链接..." style="margin-top:10px;"><i class="icon icon-copy"></i> 复制</button>
|
||||
</div>
|
||||
<div class="tab-pane fade" id="tab2Content3">
|
||||
<textarea class="form-control" rows="5" id="markdown" readonly></textarea>
|
||||
<button class="btn" style="margin-top:10px;" onclick="location.reload()"><i class="icon icon-repeat"></i> 刷新</button>
|
||||
<button class="btn" style="margin-top:10px;" onclick="location.reload()"><i class="icon icon-undo"></i> 刷新</button>
|
||||
<button id="btnMarkDown" class="btn copyBtn3" data-loading-text="已经复制链接..." style="margin-top:10px;"><i class="icon icon-copy"></i> 复制</button>
|
||||
</div>
|
||||
<div class="tab-pane fade" id="tab2Content4">
|
||||
<textarea class="form-control" rows="5" id="html" readonly></textarea>
|
||||
<button class="btn" style="margin-top:10px;" onclick="location.reload()"><i class="icon icon-repeat"></i> 刷新</button>
|
||||
<button class="btn" style="margin-top:10px;" onclick="location.reload()"><i class="icon icon-undo"></i> 刷新</button>
|
||||
<button id="btnHtml" class="btn copyBtn4" data-loading-text="已经复制链接..." style="margin-top:10px;"><i class="icon icon-copy"></i> 复制</button>
|
||||
</div>
|
||||
<div class="tab-pane fade" id="tab2Content5">
|
||||
<pre><textarea class="form-control" rows="5" id="del" readonly></textarea></pre>
|
||||
<button class="btn" style="margin-top:10px;" onclick="location.reload()"><i class="icon icon-repeat"></i> 刷新</button>
|
||||
<button class="btn" style="margin-top:10px;" onclick="location.reload()"><i class="icon icon-undo"></i> 刷新</button>
|
||||
<button id="btndel" class="btn copyBtn5" data-loading-text="已经复制链接..." style="margin-top:10px;"><i class="icon icon-copy"></i> 复制</button>
|
||||
</div>
|
||||
</div>
|
||||
|
|
Loading…
Reference in New Issue