分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 软件开发

PHP批量保存图片到服务器再上传阿里云

发布时间:2023-09-06 02:24责任编辑:白小东关键词:PHP
/* ????* 批量传输产品主图到阿里云 ????*/ ???public function transferImage(){ ???????????????$num = 50; ???????$p = isset($this->request->get[‘p‘])?$this->request->get[‘p‘]:0; ???????$nonum = isset($this->request->get[‘nonum‘])?$this->request->get[‘nonum‘]:0; ???????$start = ($nonum>0)?$nonum:$p*$num; ???????????????$query = $this->db->query("SELECT product_id,image,site_id FROM " . DB_PREFIX . "product WHERE is_delete = 0 AND site_id=‘2170254929593344‘ AND image LIKE ‘%.alicdn.com%‘ LIMIT ".$start.",".$num); ???????$result = $query->rows; ???????????????//图片处理 ???????if(!empty($result)){ ???????????$aliYunOSS = new AliYunOSS(); ???????????foreach ($result as $key => $value){ ???????????????????????????????????$file = $value[‘image‘]; ???????????????????????????????//保存图片到服务器上 ???????????????$data = @file_get_contents($file); ???????????????if(!empty($data)){ ???????????????????$ext = pathinfo($file, PATHINFO_EXTENSION); ???????????????????$filename = $value[‘product_id‘].rand(). ‘.‘ . $ext; ???????????????????$rootFile = DIR_UPLOAD .‘file/‘. $filename; ???????????????????file_put_contents($rootFile, $data); ????????????????????????????????????????//上传图片到阿里云 ???????????????????$fileDir = date(‘Y‘, time()) . ‘/‘ . date(‘m‘, time()); ???????????????????$ali = $aliYunOSS->uploadFile($rootFile, $value[‘site_id‘].‘/‘.$fileDir.‘/‘.$filename); ???????????????????????????????????????if($ali[‘success‘]==1 && !empty($ali[‘info‘][‘url‘])){ ???????????????????????$image = $ali[‘info‘][‘url‘]; ???????????????????????????????????????????????if (ENVIRONMENT == ‘pro‘) { ???????????????????????????$image = str_replace(‘http://joinf-website-release.oss-cn-hongkong.aliyuncs.com‘, OSS_URL, $image); ???????????????????????????$image = str_replace(‘https://joinf-website-release.oss-cn-hongkong.aliyuncs.com‘, OSS_URL, $image); ???????????????????????} ???????????????????????????????????????????????$sql = "UPDATE " . DB_PREFIX . "product SET image=‘".$image."‘ WHERE product_id=‘".$value[‘product_id‘]."‘ AND image=‘".$value[‘image‘]."‘"; ???????????????????????$this->db->query($sql); ???????????????????????????????????????????????//删除服务器文件 ???????????????????????unlink($rootFile); ???????????????????} ???????????????}else{ ???????????????????$nonum++; ???????????????} ???????????} ???????????????????????$url = $this->url->createUrl(‘test/transferImage‘,‘p=‘.($p+1).‘&nonum=‘.$nonum.‘&rand=‘.rand(1000, 9999)); ???????????echo "<script>window.location.href=‘".$url."‘</script>"; ???????????????????}else{ ???????????echo ‘处理完成‘; ???????} ???????????}

PHP批量保存图片到服务器再上传阿里云

原文地址:https://www.cnblogs.com/tdalcn/p/10043087.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved