帝国CMS标题图片如何实现无后缀远程图片下载保存到本地服务器
昨天写了帮朋友调式网址导航站,需求二就是通过网址url一键获取网站截图,经过朋友推荐,目前有两个网站缩略图生成器接口可用,那么就简单的调试一下,经过测试发现帝国CMS图片无法上传无后缀域名的图片,在帝国论坛、谷歌、百度等搜索引擎都搜索了一遍,发现网上的教程在帝国CMS7.5都无效,但是发现一篇:帝国CMS标题图片实现远程图片下载,测试发现可用。
那么简单分享一下这篇教程
一、userfun.php增加字段处理函数
将以下函数插入到 e/class/userfun.php 文件中
function
f_picurl(
$mid
,
$f
,
$isadd
,
$isq
,
$value
,
$cs
){
global
$empire
,
$dbtbpre
,
$public_r
;
if
(
$value
){
return
$value
;
}
$picurl
=
$_POST
[
'picurl'
];
$classid
=(int)
$_POST
[
'classid'
];
if
(
empty
(
$picurl
)||!
$classid
){
return
$value
;
}
$r
=DoTranUrl(
$picurl
,
$classid
);
if
(
empty
(
$r
[
'tran'
])){
return
$value
;
}
$r
[
'filesize'
]=(int)
$r
[
'filesize'
];
$filepass
=(int)
$_POST
[
'filepass'
];
$username
=
'picurl'
;
$sql
=eInsertFileTable(
$r
[
'filename'
],
$r
[
'filesize'
],
$r
[
'filepath'
],
$username
,
$classid
,
$r
[
'filename'
],1,
$filepass
,
$filepass
,
$public_r
[
'fpath'
],0,
$modtype
,
$fstb
);
return
$r
[
'url'
];
}
二、修改 titlepic字段
在“后台增加信息处理函数”处添加: f_picurl ,然后修改“输入表单替换html代码”成以下代码:
手动上传:<input name="titlepic" type="text" id="titlepic" value="<?=$ecmsfirstpost==1?"":ehtmlspecialchars(stripSlashes($r[titlepic]))?>" size="45">
<a onclick="window.open('ecmseditor/FileMain.php?type=1&classid=<?=$classid?>&infoid=<?=$id?>&filepass=<?=$filepass?>&sinfo=1&doing=1&field=titlepic<?=$ecms_hashur[ehref]?>','','width=700,height=550,scrollbars=yes');" title="选择已上传的图片"><img src="../data/images/changeimg.gif" border="0" align="absbottom"></a>
<br>
<br>
远程下载:<input name="picurl" type="text" id="picurl" size="45">
到这一步,测试无.png/.jpg等后缀链接实现标题图片远程图片下载到服务器
最后分享目前网友分享的两个免费的网站缩略图生成器接口:
thum.io/
s-shot.ru/
不过因为这两个是国外的,生成比较慢,同时国内很多网站只针对国内的用户,所以屏蔽了国外ip的也会导致获取图片缩略图失败!
声明:资源来自网络转载,版权归原作者所有,与本站立场无关,如不慎侵犯了你的权益,请联系我们告知,将做删除处理!
原文地址:《帝国CMS标题图片如何实现无后缀远程图片下载保存到本地服务器》发布于2021-10-23 21:43:13