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

zblog

zblogphp原生代码上传图片

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

不依托第三方插件实现的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

分享给朋友:

相关文章

Call to undefined function mysql_connect()

Call to undefined function mysql_connect()

今天给某个站搬家,zblogphp程序,原站环境是php5.6,这次配的环境是7.1。然后搬家后,提示然后,惯例,先查看数据库账户密码是否正确。经测试,信息无误。然后呢。。发现配置文件好像挺复杂。这个...

php curl通过代理获取数据

php curl通过代理获取数据

php curl通过代理获取数据$curl=curl_init(); curl_setopt($curl,CURLOPT_URL,"http://www.baidu.com/")...

zblogphp数据字典zblogphp数据库字典zblogphp数据表字段大全

zblogphp数据字典zblogphp数据库字典zblogphp数据表字段大全

zblogphp系统默认为8张表,分别为category(分类表)、comment(评论表)、config(系统和应用配置表)、member(用户表)、module(模块表)、post(文章表(含...

查看当前页面使用的sql语句zblog版

查看当前页面使用的sql语句zblog版

在使用网站的时,有时候会遇见页面打开缓慢情况,在确定服务器和访问量均是正常的情况下,这个时候一般都是程序中存在慢sql导致。在zblog中如何打开sql语句查看呢?这个时候我们需要用到debug工具。...

zblog分类页展示子分类内容

zblog分类页展示子分类内容

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

关于【某些功能有没有?能否实现某些功能?】

关于【某些功能有没有?能否实现某些功能?】

在使用zblog框架时很多用户会问到:某某功能有没有呢?能否实现某某功能?等等类似的疑问。zblog是一款基于大众需求的后端系统,他只会满足大众常用的功能,系统的组成部分是由CMS主框架+应用插件组成...