php商品相册上传,php + js 多个商品照片的上传处理?

该博客分享了一个简单的图片上传功能实现,前端利用jQuery监听文件输入改变事件,通过FormData对象封装图片并使用AJAX异步POST到后端。后端PHP接收文件,进行文件类型检查,然后保存到服务器,并返回保存成功的URL。这个过程减少了不必要的数据传输,提高了用户体验。
摘要由CSDN通过智能技术生成

从前端上传图片到后端,然后php进行处理,完全不需要传base64的字符串,base64可以在上传到后端前,给用户预览,减少不必要的上传,等用户真正确认后,才开始上传到服务器。

这是目前我自己博客后台用的一个简单的图片上传功能,可以供你参考一下:

前端,我这里用到了jQuery

$('.upfile').on('change', function(){ // 点击input[type=file]控件选择图片

if( !$(this).val() ){

return false;

}

var formData = new FormData(); // 创建一个formData对象,把图片封装进去

formData.append('file', $(this)[0].files[0]);

$.ajax({ // 提交数据

url: '/admin/upimg',

type: 'POST',

cache: false,

data: formData,

processData: false,

contentType: false

}).done(function(res) {

// console.log(res);

// console.log(typeof res);

// console.log(res.code==0);

// console.log(res.data.url);

res = JSON.parse(res);

if( res.code==0 ){

$('.showpath').text( 'success: '+res.data.url );

}else{

}

}).fail(function(res) {});

})

后端使用$_FILES获取到相关的图片列表

$file_name = iconv("UTF-8","gb2312", $_FILES['file']['name']); //文件名称

$filenames= explode(".",$file_name);

$file = $_FILES['file'];

$tempfile = $file['tmp_name'];

$targetFolder = '/upload/' .time().rand(1000, 9999).".".$filenames[count($filenames)-1]; // 重命名

$targetPath = $_SERVER['DOCUMENT_ROOT'] . $targetFolder; //图片存放目录

$targetFile = rtrim($targetPath,'/'); //图片完整路徑

// echo $targetFile;

// Validate the file type

$fileTypes = array('jpg', 'jpeg', 'png', 'gif', 'svg'); // File extensions

$fileParts = pathinfo($_FILES['file']['name']);

// print_r( $file );

// 判断当前上传的文件是否为图片格式

if (in_array($fileParts['extension'],$fileTypes)) {

$s = move_uploaded_file($tempfile, $targetFile); // 移动到服务器相关的目录

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值