php图片上传模块,原生php ajax 文章添加模块 图片上传 代码

原生php  ajax 文章添加模块 图片上传 代码

原生php ajax文章添加的难点在于怎么异步上传图片

9c7740bedd33d45862528ddf6245c488.gif

话不多说直接上代码:

前台表单:

标题
分类

请选择分类

"><?php  echo $c['catename'];?>

图片
内容

提交

ajax:var ue = UE.getEditor('ct',{ initialFrameHeight:400,initialFrameWidth:950 });

$("#btn").click(function () {

var content = ue.getContent();

var title = $('input[name="title"]').val();

var cateid = $('#cateid').val();

var imgs = $('#img').val();

if(!title) {

dialog.error('请输入标题');

return;

}

if(!cateid) {

dialog.error('请选择分类');

return;

}

if(!imgs)

{

dialog.error('请上传图片');

return;

}

if(content=='') {

dialog.error('请输入内容');

return;

}

var fileArray = document.getElementById('img').files[0];

var formData = new FormData();

formData.append('file', fileArray);

formData.append('title',title);

formData.append('cateid',cateid);

formData.append('content',content);

var url = "/admin/article_add_save.php";

$.ajax({

url,/*传向后台服务器文件*/

type: 'POST',    /*传递方法 */

data:formData,  /*要带的值,在这里只能带一个formdata ,不可以增加其他*/

//传递的数据

dataType : 'json',  //传递数据的格式

async:false, //这是重要的一步,防止重复提交的

cache: false,  //设置为false,上传文件不需要缓存。

contentType: false,//设置为false,因为是构造的FormData对象,所以这里设置为false。

processData: false,//设置为false,因为data值是FormData对象,不需要对数据做处理。

success: function (result){

if(result.status == 0) {

return dialog.error(result.message);

}

if(result.status == 1) {

return dialog.success(result.message, '/admin/article.php');

}

}

});

});

后台php:if (empty($_POST['title'])) {

return show(0, '请输入标题');

}

if (empty($_POST['cateid'])) {

return show(0, '请选择分类');

}

if (!empty($_FILES['fileArray']['error'])) {

return show(0, '请上传图片');

}

if (empty($_POST['content'])) {

return show(0, '请输入内容');

}

//图片上传

//获取图片扩展名

preg_match('|\.(\w+)$|', $_FILES['file']['name'],$ext);

//获取上传临时文件

$temp_file =  $_FILES['file']['tmp_name'];

//随机文件名

$target_file = '../public/static/upload/'.date('Ymd').'/'.time().rand(100000,999999).$ext[0];

//上传图片路径

$dir = iconv("UTF-8","GBK","../public/static/upload/".date('Ymd'));

//创建文件和权限

if(!file_exists($dir)){

mkdir($dir,0777,true);

}

//移动临时文件到上传文件路径

if(move_uploaded_file($temp_file,$target_file)){

$img_src = $target_file;

}else {

$img_src ='';

}

$title = trim($_POST['title']);

$cateid = trim($_POST['cateid']);

$imgs =$img_src;

$content = trim($_POST['content']);

$addtime = time();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值