zblog
当前位置:首页 > 商学院 > zblog > 正文内容

zblog

zblogphp原生代码上传图片

豫唐网络2022-11-04 17:041835

不依托第三方插件实现的php原生上传图片的方法,操作步骤如下。

1、在当前主题或者当前插件的目录下,创建新文件script/upload.js,写入代码

!function(o){
varb=$('body');
functionupload(){
varid='ajax_upload'+newDate().getTime(),d=$(this);;
b.append(`<inputtype="file"id="${id}"accept="${o.accept}"style="display:none">`);
varel=$('#'+id);
b.one('change','#'+id,function(){
varf=newFormData();
f.append('file',$(this)[0].files[0]);
$.ajax({
url:ajaxurl+o.src,
type:'POST',
dataType:'json',
data:f,
contentType:false,
processData:false,
xhr:function(){
varxhr=newXMLHttpRequest(),t;
xhr.upload.addEventListener('progress',function(e){
if(e.lengthComputable){
t=Math.floor(e.loaded/e.total*100);
o.progress&&o.progress(d,t);
}
});
returnxhr;
},
success:function(r){
o.success(d,r);
},
error:function(r){
o.error&&o.error(d,r);
}
});
}),
el.click();
}
b.on('click',o.click,upload);
}({
src:'ytecn_ai_xzjt',//这里AppName改为你的应用ID
click:'.ytecn_upimgbutton',
accept:'.jpg,.jpeg,.png,.gif,.bmp,.svg',
success:function(e,r){
console.log('上传成功,图片链接:'+r.url);
e.siblings('.ytecn_input_img').attr("value",r.url);
e.siblings('img').attr('src',r.url);
e.val('选择文件');
},
error:function(e){
alert('上传失败');
},
progress:function(e,n){
e.val('上传进度:'+n+'%');
}
});

2、通过Filter_Plugin_Cmd_Ajax添加ajax异步上传

functionActivePlugin_ytecn_ai_xzjt(){
Add_Filter_Plugin('Filter_Plugin_Cmd_Ajax','ytecn_ai_xzjt_Cmd_Ajax');
}
functionytecn_ai_xzjt_Cmd_Ajax($src)
{
global$zbp;
if($src=='ytecn_ai_xzjt'){
if(!$zbp->CheckRights('UploadPst')){
$zbp->ShowError(6);
}
Add_Filter_Plugin('Filter_Plugin_Upload_SaveFile','ytecn_ai_xzjt_Upload_SaveFile_Ajax');
$_POST['auto_rename']=1;
PostUpload();
echojson_encode(array('url'=>$GLOBALS['tmp_ul']->Url));
exit;
}
}
functionytecn_ai_xzjt_Upload_SaveFile_Ajax($tmp,$ul)
{
$GLOBALS['tmp_ul']=$ul;
}

3、在需要的地方调用,比如在文章编辑页面。

functionActivePlugin_ytecn_ai_xzjt(){
Add_Filter_Plugin('Filter_Plugin_Edit_Response5','ytecn_ai_xzjt_edit_response');
}
functionytecn_ai_xzjt_edit_response(){
global$zbp,$article;
echo'<scripttype="text/javascript"src="'.$zbp->host.'zb_users/plugin/ytecn_ai_xzjt/script/upload.js"></script>';
echo'<styletype="text/css">
.ytecn_input_img{width:40%!important;}
.ytecn_upimgbutton{width:120px;}
.ytecn_upimg{width:100px;vertical-align:middle;}</style>';
echo'<divid="tesetu">缩略图1:
<inputname="meta_pic"id="edtTitle"type="text"class="ytecn_input_img"value="'.$article->Metas->tesetu1.'"/>
<inputtype="button"class="ytecn_upimgbutton"value="选择图片">
<imgclass="ytecn_upimg"src="'.$article->Metas->pic.'">
</div>';
echo'<divid="tesetu">缩略图2:
<inputname="meta_pic2"id="edtTitle"type="text"class="ytecn_input_img"value="'.$article->Metas->tesetu2.'"/>
<inputtype="button"class="ytecn_upimgbutton"value="选择图片">
<imgclass="ytecn_upimg"src="'.$article->Metas->pic2.'">
</div>';
}


扫描二维码推送至手机访问。

版权声明:本文由汤阴县豫唐网络科技有限公司发布,如需转载请注明出处。

本文链接:https://www.ytecn.com/post/396.html

分享给朋友:

相关文章

zblogphp程序报错后如何获得帮助

zblogphp程序报错后如何获得帮助

zblogphp程序报错后获取帮助分为免费和付费两种。免费帮助方法1开启调试模式(点击打开新链接),将截图发到群内。方法2提交工单或私信把网站信息发群主,等凑够一定数量后,群主开直播查错。付费帮助找群...

批量重命名批量处理别名

批量重命名批量处理别名

在运营网站的时候会遇见被采集的情况,但zblog的文章默认url又是递增的数字模式。为了防止被采集,我们可以对url进行批量重命名操作,批量重命名为6位的不规则的字母+数字。操作步骤:1、在网站根目录...

zblog分类页展示子分类内容

zblog分类页展示子分类内容

zblog默认情况下,当某个分类有子分类的时候,访问大分类页面的时候是不显示下面分类的文章内容。如需实现分类页展示子分类内容,需要在后台进行配置,配置方法如下:1、进入网站后台;2、点击右上的《网站设...

通过接口给后台导航栏添加菜单

通过接口给后台导航栏添加菜单

zblog支持2处菜单的添加,分别是后台顶部和后台左侧。1、给后台顶部导航栏添加菜单functionActivePlugin_tc_cs(){ Add_Filter_Plugin('Filt...

自定义链接打开自定义页面

自定义链接打开自定义页面

我要做一个《国庆头像生成》插件,但访问地址我想使用静态化地址《域名/gqtx》或者动态化地址《域名/?gqtx》。1、准备页面代码;将页面代码放置当前主题或者插件的《theme》目录下,起名t_gqt...

给前台页面添加html代码

给前台页面添加html代码

给前端主题页面的{$header}和{$footer}添加代码。以侧边浮动留言框效果为例在插件或主题include.php页面的ActivePlugin里面进入接口functionActivePlug...