From 8b05affa30da6d1a60a4af27123ee2e287963a6b Mon Sep 17 00:00:00 2001 From: icret Date: Mon, 7 Mar 2022 12:34:04 +0800 Subject: [PATCH] fix tips --- .github/FUNDING.yml | 2 +- README.md | 7 +- application/check.php | 12 +- application/del.php | 14 +- application/function.php | 38 ++-- application/header.php | 2 +- config/config.php | 170 +++++++++--------- favicon.ico | Bin 9462 -> 4154 bytes public/images/image_icon_153794.png | Bin 13912 -> 6626 bytes .../picture_photo_image_icon_131252.png | Bin 0 -> 4222 bytes 10 files changed, 134 insertions(+), 111 deletions(-) create mode 100755 public/images/picture_photo_image_icon_131252.png diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml index 150f43d..e3f5e1f 100755 --- a/.github/FUNDING.yml +++ b/.github/FUNDING.yml @@ -1 +1 @@ -custom: ['https://png.cm/sponsor/images/wechat.jpg'] \ No newline at end of file +custom: ['https://cdn.jsdelivr.net/gh/icret/EasyImages2.0@2.5.5/public/images/wechat.jpg'] \ No newline at end of file diff --git a/README.md b/README.md index fabb7c6..acb2b3a 100755 --- a/README.md +++ b/README.md @@ -22,7 +22,7 @@ >本人善写bug 发现bug可提交 [issues](https://github.com/icret/EasyImages2.0/issues) 追求稳定请下载 [稳定版](https://github.com/icret/EasyImages2.0/releases) ## 目录 -[特点](#特点)  [使用注意](#使用注意)  [安装](#安装)  [程序升级](#程序升级)  [安全配置](#安全配置)  [更新日志](#更新日志)  [支持开发者](#支持开发者)  [界面演示](#界面演示)  [兼容](#兼容)  [鸣谢](#鸣谢)  [开源许可](#开源许可)   +[特点](#特点)  [使用注意](#使用注意)  [安装](#安装)  [程序升级](#程序升级)  [安全配置](#安全配置)  [更新日志](#更新日志)  [支持开发者](#支持开发者)  [界面演示](#界面演示)  [兼容](#兼容)  [鸣谢](#鸣谢)  [开源许可](#开源许可)   ## 特点 @@ -68,7 +68,7 @@ ## 程序升级 -- 备份`config`(没有增加上传用户和api可以只保留`config.php`文件)目录和`上传目录` +- 备份`config`目录(没有增加上传用户和api可以只保留`config.php`文件)和`图片目录` - 将新程序下载至网站目录解压覆盖,然后将备份的文件替换既完成升级 ## 安全配置 @@ -104,6 +104,9 @@ $HTTP["url"] =~ "^/(i|public)/" {
点击查看2.0版更新日志 +* 2022-3-7 v2.5.6 dev +- 修复加密删除后不能正确提示 + * 2022-3-4 v2.5.5 - 增加设置页面检测是否开启登录上传 - 将footer固定在底部 diff --git a/application/check.php b/application/check.php index e556069..df38a44 100755 --- a/application/check.php +++ b/application/check.php @@ -28,9 +28,9 @@ file_put_contents(APP_ROOT . '/config/EasyIamge.lock', '安装环境检测锁定

EasyImage2.0 基础检测:

当前PHP版本:

-

upload_max_filesize - PHP上传最大值: +

PHP最大上传:

-

post_max_size - POST上传最大值: +

POST最大上传:

upload.php 文件可执行

-

/i 目录可读写

+

' . $config['path'] . ' 目录可读写

'; } if (!IS_WIN) { - if ($quanxian !== '755' and !is_writable(APP_ROOT . '/i/')) { + if ($quanxian !== '755' and !is_writable(APP_ROOT . $config['path'])) { echo '

upload.php 文件不可执行> -

/i 目录可读写> +

' . $config['path'] . ' 目录可读写> '; } else { echo '

upload.php 文件可执行

-

/i 目录可读写

+

' . $config['path'] . ' 目录可读写

'; } } diff --git a/application/del.php b/application/del.php index c6e99cb..1bdf10b 100755 --- a/application/del.php +++ b/application/del.php @@ -44,8 +44,8 @@ if (isset($_GET['hash'])) { if ($config['image_recycl']) { // 如果开启回收站则进入回收站 - checkImg($delHash, 3, 'recycle/'); - echo ' + if (checkImg($delHash, 3, 'recycle/') == true) { + echo ' '; + } else { + echo ' + + '; + } } else { // 否则直接删除 getDel($delHash, 'url'); diff --git a/application/function.php b/application/function.php index cacc5e0..8dcb0c2 100755 --- a/application/function.php +++ b/application/function.php @@ -6,7 +6,7 @@ require_once APP_ROOT . '/config/config.guest.php'; /** * 判断GIF图片是否为动态 * @param $filename string 文件 - * @return int + * @return int 是|否 */ function isAnimatedGif($filename) { @@ -155,18 +155,20 @@ function static_cdn() echo $config['domain']; } } -/* -// 获取允许上传的扩展名 + +/** + * 获取允许上传的扩展名 + */ function getExtensions() { global $config; + $arr = explode(',', $config['extensions']); $mime = ''; - for ($i = 0; $i < count($config['extensions']); $i++) { - $mime .= $config['extensions'][$i] . ','; + for ($i = 0; $i < count($arr); $i++) { + $mime .= $arr . ','; } return rtrim($mime, ','); } -*/ /** * 获取目录大小 如果目录文件较多将很费时 @@ -656,7 +658,10 @@ function nsfwjs_json($url, $data = '') /** * 检查图片是否违规 - * @param $imageUrl string 图片url + * @param $imageUrl 图片链接 + * @param int $type 模式: 1|moderatecontent 2|nsfwjs 3|移入回收站 + * @param string $dir 移入的目录 + * @return bool */ function checkImg($imageUrl, $type = 1, $dir = 'suspic/') { @@ -730,13 +735,18 @@ function checkImg($imageUrl, $type = 1, $dir = 'suspic/') if ($bad_pic == true) { $old_path = APP_ROOT . str_replace($config['imgurl'], '', $imageUrl); // 提交网址中的文件路径 /i/2021/10/29/p8vypd.png $name = date('Y_m_d') . '_' . basename($imageUrl); // 文件名 2021_10_30_p8vypd.png - $new_path = APP_ROOT . $config['path'] . $dir . $name; // 新路径含文件名 - $suspic_dir = APP_ROOT . $config['path'] . $dir; // suspic路径 + $new_path = APP_ROOT . $config['path'] . $dir . $name; // 新路径含文件名 + $suspic_dir = APP_ROOT . $config['path'] . $dir; // suspic路径 - if (!is_dir($suspic_dir)) { // 创建suspic目录并移动 + if (!is_dir($suspic_dir)) { // 创建suspic目录并移动 mkdir($suspic_dir, 0777, true); } - rename($old_path, $new_path); + if (is_file($old_path)) { + rename($old_path, $new_path); + return true; + } else { + return false; + } } } @@ -1105,7 +1115,7 @@ function check_api($token) global $tokenList; if (!$config['apiStatus']) { - // API关闭 服务端关闭API上传 + // 关闭API $reJson = array( "result" => 'failed', 'code' => 201, @@ -1115,7 +1125,7 @@ function check_api($token) } if (!in_array($tokenList[$token], $tokenList)) { - // Token 是否存在 + // Token 存在 $reJson = array( "result" => 'failed', 'code' => 202, @@ -1125,7 +1135,7 @@ function check_api($token) } if ($tokenList[$token]['expired'] < time()) { - // Token 是否过期 + // Token 过期 $reJson = array( "result" => 'failed', 'code' => 203, diff --git a/application/header.php b/application/header.php index 770a75d..2d7eb70 100755 --- a/application/header.php +++ b/application/header.php @@ -12,7 +12,7 @@ <?php echo $config['title']; ?> - + diff --git a/config/config.php b/config/config.php index 7473450..323edf9 100755 --- a/config/config.php +++ b/config/config.php @@ -1,52 +1,52 @@ '简单图床 - EasyImage', - 'keywords'=>'简单图床,easyimage,无数据库图床,PHP多图长传程序,自适应页面,HTML5,markdown,bbscode,一键复制', - 'description'=>'简单图床EasyImage是一款支持多文件上传的无数据库图床,可以完美替代PHP多图上传程序,最新html5自适应页面兼容手机电脑,上传后返回图片直链,markdown图片,论坛贴图bbscode链接,简单方便支持一键复制,支持多域名,api上传。', +$config=Array + ( + 'title'=>'简单图床 - EasyImage', + 'keywords'=>'简单图床,easyimage,无数据库图床,PHP多图长传程序,自适应页面,HTML5,markdown,bbscode,一键复制', + 'description'=>'简单图床EasyImage是一款支持多文件上传的无数据库图床,可以完美替代PHP多图上传程序,最新html5自适应页面兼容手机电脑,上传后返回图片直链,markdown图片,论坛贴图bbscode链接,简单方便支持一键复制,支持多域名,api上传。', 'tips'=>'
  • 单文件≤10M,单次上传≤30张
  • 简单图床是一款开源图床, 支持多文件上传无数据库 - 如果你喜欢这种图床风格就下载喔 (๑•̀ㅂ•́)و✧', - 'domain'=>'http://127.0.0.1', - 'imgurl'=>'http://127.0.0.1', - 'user'=>'admin', - 'password'=>'e6e061838856bf47e1de730719fb2609', - 'mustLogin'=>0, - 'apiStatus'=>1, - 'path'=>'/i/', - 'imgName'=>'default', - 'maxSize'=>10485760, - 'maxUploadFiles'=>100, - 'watermark'=>0, - 'waterText'=>'简单图床 - png.cm', - 'waterPosition'=>0, - 'textColor'=>'255,0,0,1', - 'textSize'=>50, - 'textFont'=>'/public/static/hkxzy.ttf', - 'waterImg'=>'/public/images/watermark.png', - 'extensions'=>'gif,jpeg,png,tif,bmp,tif,svg,webp,jpg,tga,svg,ico', - 'compress'=>0, - 'compress_ratio'=>80, - 'thumbnail'=>1, - 'imgConvert'=>'', - 'maxWidth'=>10240, - 'maxHeight'=>10240, - 'minWidth'=>5, - 'minHeight'=>5, - 'imgRatio'=>0, - 'image_x'=>0, - 'image_y'=>0, - 'imgRatio_quality'=>80, - 'imgRatio_crop'=>0, - 'imgRatio_preserve_headers'=>1, - 'static_cdn'=>1, - 'theme'=>'default', - 'static_cdn_url'=>'https://cdn.jsdelivr.net/gh/icret/EasyImages2.0', - 'TinyPng_key'=>'', - 'checkImg'=>0, - 'checkImg_value'=>50, - 'moderatecontent_key'=>'', - 'nsfwjs_url'=>'', + 如果你喜欢这种图床风格就下载喔 (๑•̀ㅂ•́)و✧', + 'domain'=>'http://127.0.0.1', + 'imgurl'=>'http://127.0.0.1', + 'user'=>'admin', + 'password'=>'e6e061838856bf47e1de730719fb2609', + 'mustLogin'=>0, + 'apiStatus'=>0, + 'path'=>'/i/', + 'imgName'=>'default', + 'maxSize'=>10485760, + 'maxUploadFiles'=>100, + 'watermark'=>0, + 'waterText'=>'简单图床 - png.cm', + 'waterPosition'=>0, + 'textColor'=>'255,0,0,1', + 'textSize'=>50, + 'textFont'=>'/public/static/hkxzy.ttf', + 'waterImg'=>'/public/images/watermark.png', + 'extensions'=>'gif,jpeg,png,tif,bmp,tif,svg,webp,jpg,tga,svg,ico', + 'compress'=>0, + 'compress_ratio'=>80, + 'thumbnail'=>1, + 'imgConvert'=>'', + 'maxWidth'=>10240, + 'maxHeight'=>10240, + 'minWidth'=>5, + 'minHeight'=>5, + 'imgRatio'=>0, + 'image_x'=>0, + 'image_y'=>0, + 'imgRatio_quality'=>80, + 'imgRatio_crop'=>0, + 'imgRatio_preserve_headers'=>1, + 'static_cdn'=>1, + 'theme'=>'default', + 'static_cdn_url'=>'https://cdn.jsdelivr.net/gh/icret/EasyImages2.0@2.5.5', + 'TinyPng_key'=>'', + 'checkImg'=>0, + 'checkImg_value'=>50, + 'moderatecontent_key'=>'', + 'nsfwjs_url'=>'', 'footer'=>'请勿上传违反中国政策的图片 ', - 'ad_top'=>0, +', + 'ad_top'=>0, 'ad_top_info'=>'
    -
    ', - 'ad_bot'=>0, +', + 'ad_bot'=>0, 'ad_bot_info'=>'', - 'showSwitch'=>1, - 'showSort'=>1, - 'listNumber'=>20, - 'customize'=>'', - 'checkEnv'=>1, - 'upload_logs'=>1, - 'cache_freq'=>2, - 'upload_first_show'=>1, - 'show_user_hash_del'=>1, - 'show_exif_info'=>1, - 'chart_on'=>1, - 'check_ip'=>0, - 'check_ip_model'=>0, - 'check_ip_list'=>'', - 'public'=>0, - 'public_list'=>Array - ( - 0=>'time', - 1=>'today', - 2=>'yesterday', - 3=>'total_space', - 4=>'used_space', - 5=>'free_space', - 6=>'image_used', - 7=>'file', - 8=>'dir', - 9=>'month' - ), - 'language'=>0, - 'image_recycl'=>1, - 'delDir'=>'thumbnails/', - 'version'=>'2.5.5', - 'update'=>'2022-03-05 10:45:32', +', + 'showSwitch'=>1, + 'showSort'=>1, + 'listNumber'=>20, + 'customize'=>'', + 'checkEnv'=>1, + 'upload_logs'=>1, + 'cache_freq'=>2, + 'upload_first_show'=>1, + 'show_user_hash_del'=>1, + 'show_exif_info'=>1, + 'chart_on'=>1, + 'check_ip'=>0, + 'check_ip_model'=>0, + 'check_ip_list'=>'', + 'public'=>0, + 'public_list'=>Array + ( + 0=>'time', + 1=>'today', + 2=>'yesterday', + 3=>'total_space', + 4=>'used_space', + 5=>'free_space', + 6=>'image_used', + 7=>'file', + 8=>'dir', + 9=>'month' + ), + 'language'=>0, + 'image_recycl'=>1, + 'delDir'=>'thumbnails/', + 'version'=>'2.5.5', + 'update'=>'2022-03-07 12:32:21', 'terms'=>'
    @@ -183,5 +183,5 @@ var _hmt = _hmt || [];
    -' +' ); \ No newline at end of file diff --git a/favicon.ico b/favicon.ico index 7a105691a4e106793a8a97a267f29bc323308014..d8bd161f50f47956cad2b25ac0af5dba22cb55ab 100755 GIT binary patch literal 4154 zcmc(i{Zmv`7{_n@1Jz7&?~16I!>diHiD10H<6HHcqp3(JzGo_^p@E{PAc&yW=+tDB zTKEEjXi6intENt4HfAH51&fTcyiFb^kQKiHv)n zIMcj1KOD@6!1-kpU|pOdd~IA8Cu4oGrWYn_%mFh;K4l>@F<1;9cRsHD66?Eu^F1k^ z%fHuo|lZG6iwfdqA>?NIbGE3giPqfgu zD)#kAW+cv0*4BlIuq{e*DG|-t$+%QF4jWT7ofwz{W{yJ2LuMj#VIC=FGE0uHO|l@L zyw_2!V{gjYx*!3z1>{dUy)Xeyvy*Un<5;xT1!HrXrf*8sm_x|SAv57zBo8x5F&9f- z7baVXPo+LAI7Z&zQoq)Daj?ygH?$xgO<4)}aZ|YPwpWK>OS+~Pr)kU~Y@&y5xS216_wv*K~3cnsQ(27$eWKlNWaUPDQ`hGLfFplW8} zeB?fP){UtaIy)-O_s0qLrkb%{~LRP^xabi zqL}#0Cu%68EI1FAna9k;8L>*}nIf83mKuO>GQx3&{F<}I!7BWTfojvND70)HiMIM+ z+%xqp^KU;Is^8upj8CWfql9v(n52m;I1gqq^O%{+=zbBMwOvyOqGd-I&d!ZQ&VgWjkueBc=&V&vwqP4&QBEE#W|3kZ&S^89 zwNIw`}HQ>FjWvdM5&>rbiG<1g=-U+NZZG1D$hetql?Rd^INkrNprP zO$#a}8rnwHkcJ9kE1}Hy%@Hz1I(=^+r5W4PQTc*L?hT`}2Ld=KZ6gXjnNE z6?D!k>AftczN_aChMo9YsZaTwd(E0K*bfcIy()j$4-7UcUE6uQZ-&SGJsB>Q568*e zAvnKjn8=1R_Ue7`B{+`7qW#LpaNew^x(kluaj?_)6Bv5=OJ4S&_Y=-zp=hr+vh?bG z=w&!gq@c6?4jyy^UBCZj)b_hHo<_M0>x;pszs!QqSTA3hY0U`SI}iZp&xZ}qj#hMa zcA$&ugFgZ1jaqTvPS44{JZhi*9?yDNgL0vL?zr~F8 z_em0S^th_;KINJBSt(=QXDQ#AORom<3?$v^zqk85KP~@l@(dy=Bxa~3b&~qO7e4b5 TYqJM?v8PhN|DOL3ANKtlmjpZ3 literal 9462 zcmeI2`*T#~9mY3p`2$KJyCHxeAW0CV)&hatZ;$|LaoVY)q{uZFP(dyVBA{|HNC*N2 zDo&|TaJUP|O-k5Zpc>lFfa8qTS||!7_k;xHGTCpR=RN1$yjeEuZU^#{Fi*ZGXU}=h z=lNdVv%}zUMB(qChaLFY%W<)-&y8})LkvomxQp9wq&u2aH2yjQK!Q9c5=g$$a9e3qh*{oywcb?*IR2Xfz~ z)BH5&3DiJPi`)3TC6teQQ4^Ed&UYJb=9Em}Ynhewv)fyqc~s8K8dH9JdUmH*(p^Qb zq&sDPy7Lx2*gkBZLF!@D#P7xKv2glKvD&?%`@>{5^KEdGUFIZrk*(u?DHU^{xOHmg zC^M`fd@e?{2q9ZRWHlOT%(q%w`?!E$H)<`c#o2?Ci{fX(A;*; z70;ZMF0w6uuvE->OuRF4TTac$gK|GznCZF!4+0OeAl)T)E&M(L>!Ewg^rHLI?}@%b zNMEnx9n4m*C~iJ~Zc0~q|93;AVm8=c$Q5wQDaIE@-dvRF^1*{F1b$*ja<@AD&MahA&m z4?@ugJp}q_uO@t!QUHs|)!s4oJL_JXSLcZRtDiS7En0SsA1a^B8Z92MYG!gPJ(nY| zfghp|ub`k9}{ zF@IOemN&9pzSpx|^q~~!L-&=xCIMdbvrGoXq}j}9GwN%3Z>y}j^Y;bN-U(oznJ1p< z*#kgYV(rWJ00hXGr^uIU#|UyEF0nS!2^9L586j4FN^JYH|JjYvG;&*j`h8Z zvtqFKInlc@a&RKp(chlp4CEJ_roil-hVw-k;wi|KuQvQ#YCr5R%fS!Phw>20huL3x z=2;shum}3mjArCD`W`Yb%ygpeF>(m(e?@P5iqer^a0ZiN&yas_1pC4MQn@EV-W=)j zLG+tJ34_9Z#p?t)asPYG{`DdkPkpg8j9uXyhtZj*=a@b{C`|x8M&{ zVXC;N(pRcneD|R{*vVfy%H>;`=b{fK<-_(u4_dmv^sM;nW6!?c146}RBVw?>MI%?S za%|#IIgMPqrzV4&{B7keOcD2#RAKzjAITnvez$st+*&0$P9Ho-DLe%FFl%Dg#jH)c zzU(>DK9_@i3D{TWb(fDOfE~QN@z0`?@iw0U5=?DTMG&V9a;Y^SWE z2Z$cD%$fxDSfC$WCo?X$XQ?DNMwX6<#xuIh@d-oZGMyy_f#vekFLAWXTIZC!ZaTnMjmxwuZ-U`|xot z8V@JP$8YwLQsl2}RE(@1V|xJueQ0SfI_mla##N~0GVJf~J{>EUcf?8Efq41H{72-( zGh`nsZp^P6`w!)roG2&950leHL*??H2ZWV(qXs@6U)^na_yTruwK%5etrYA#3wlU3a#<6K-L63uc-8y#|L4{og7W)4988dl zTl>rAr($Id>agKg7B88p4e+!I@7g`ZJyj2oKiGTz&Riy-Zw6S}i(~C8^4KoF_E2{q zLB8G|hkyHumDSi^H`v_kk^3^_egAVkRnEg^--n*xi@w>_3%XCLcK0#7w0^e<(^E)( zu2G43sD%ga2P^$}SO zzL#HlK%cU&S&Iwr^_R~#_LEE7`U_`7e;!u8cJ-FJv-9Oz^_SAr{H-)yzbQ@E>ZIYq z5ve|sY1M>%6~2eC_%$PYoA0AK%tcspsyWECv!~R5x=xyJ3b=1bQ`0qD&C+}W=jyLY z_0b&k)BW~bgw;!7^Xr_@LqvNA+0o}Uo++fw7s zSG}h8SKWW@#}44P^55{!?b7@m`uti$`}uFaE;S#GLBI75cLq9ypR-%*nP~J6d&TVk zI#rv-D`%x@Pe1HGVZYPvJwI!&X1JF$e1RI=LJg2-YmQM1_6_G6ero(8&2riLo?dJFmq+}KMSulx<{PpW;YO1+=M+B^B4=pcUb*zY>Lf2$8Bs(z|H zGtJ65dxqa9B4a22jj;E@_V)m;6TZj@-pZXltnU)!);$)>e(B707d zbx{lYP{RHi*?OAyJnk#9@4Xe_8j(KpZeFihi^2R8=!DIF8QG(H6R{vRia`QZQn diff --git a/public/images/image_icon_153794.png b/public/images/image_icon_153794.png index cd002c5b56d500705cdf882eca0a4388e0dd7f89..c4e2473ba80b21c0cb28bc5274352549fec28d15 100755 GIT binary patch delta 6123 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 XwO!1NUCc#Ioz2l-ph{7yLX7_bE=AL* diff --git a/public/images/picture_photo_image_icon_131252.png b/public/images/picture_photo_image_icon_131252.png new file mode 100755 index 0000000000000000000000000000000000000000..3453cd87af0096dfef8d66e98937cd789e11bc29 GIT binary patch literal 4222 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 I4}0r>09{;~p8x;= literal 0 HcmV?d00001