电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術(shù)文章
文章詳情頁

PHP實(shí)現(xiàn)本地圖片轉(zhuǎn)base64格式并上傳

瀏覽:120日期:2022-09-10 09:49:25

我們?cè)陂_發(fā)系統(tǒng)時(shí),處理圖片上傳是不可避免的,例如使用thinkphp的肯定很熟悉import('@.ORG.UploadFile');的上傳方式,今天我們來講一個(gè)使用html5 base64上傳圖片的方法。

主要是用到html5 FileReader的接口,既然是html5的,所支持的瀏覽器我就不多說啦

可以大概的講一下思路,其實(shí)也挺簡單。選擇了圖片之后,js會(huì)先把已選的圖片轉(zhuǎn)化為base64格式,然后通過ajax上傳到服務(wù)器端,服務(wù)器端再轉(zhuǎn)化為圖片,進(jìn)行儲(chǔ)存的一個(gè)過程。

咱們先看看前端的代碼。

html部分

<input type='file' id='imagesfile'>

js部分

$('#imagesfile').change(function (){ var file = this.files[0]; //用size屬性判斷文件大小不能超過5M ,前端直接判斷的好處,免去服務(wù)器的壓力。 if( file.size > 5*1024*1024 ){ alert( '你上傳的文件太大了!' ) } //好東西來了 var reader=new FileReader(); reader.onload = function(){ // 通過 reader.result 來訪問生成的 base64 DataURL var base64 = reader.result; //打印到控制臺(tái),按F12查看 console.log(base64); //上傳圖片 base64_uploading(base64); } reader.readAsDataURL(file);});//AJAX上傳base64function base64_uploading(base64Data){ $.ajax({ type: ’POST’, url: '上傳接口路徑', data: { ’base64’: base64Data }, dataType: ’json’, timeout: 50000, success: function(data){console.log(data); }, complete:function() {}, error: function(xhr, type){ alert(’上傳超時(shí)啦,再試試’); } });}

其實(shí)前端的代碼也并不復(fù)雜,主要是使用了new FileReader();的接口來轉(zhuǎn)化圖片,new FileReader();還有其他的接口,想了解更多的接口使用的童鞋,自行谷歌搜索new FileReader();。

接下來,那就是服務(wù)器端的代碼了,上面的demo,是用thinkphp為框架編寫的,但其他框架也基本通用的。

function base64imgsave($img){//文件夾日期 $ymd = date('Ymd'); //圖片路徑地址 $basedir = ’upload/base64/’.$ymd.’’; $fullpath = $basedir; if(!is_dir($fullpath)){ mkdir($fullpath,0777,true); } $types = empty($types)? array(’jpg’, ’gif’, ’png’, ’jpeg’):$types;$img = str_replace(array(’_’,’-’), array(’/’,’+’), $img);$b64img = substr($img, 0,100);if(preg_match(’/^(data:s*image/(w+);base64,)/’, $b64img, $matches)){ $type = $matches[2]; if(!in_array($type, $types)){ return array(’status’=>1,’info’=>’圖片格式不正確,只支持 jpg、gif、png、jpeg哦!’,’url’=>’’); } $img = str_replace($matches[1], ’’, $img); $img = base64_decode($img); $photo = ’/’.md5(date(’YmdHis’).rand(1000, 9999)).’.’.$type; file_put_contents($fullpath.$photo, $img); $ary[’status’] = 1; $ary[’info’] = ’保存圖片成功’; $ary[’url’] = $basedir.$photo; return $ary;} $ary[’status’] = 0; $ary[’info’] = ’請(qǐng)選擇要上傳的圖片’; return $ary; }

以上就是PHP代碼,原理也很簡單,拿到接口上傳的base64,然后再轉(zhuǎn)為圖片再儲(chǔ)存。

使用的是thinkphp 3.2,無需數(shù)據(jù)庫,PHP環(huán)境直接運(yùn)行即可。

php目錄路徑為:

‪ApplicationHomeControllerBase64Controller.class.php

html目錄路徑為:

ApplicationHomeViewBase64imagesupload.html

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: PHP
相關(guān)文章:
主站蜘蛛池模板: 国际线缆连接网 - 连接器_线缆线束加工行业门户网站 | 天津市能谱科技有限公司-专业的红外光谱仪_红外测油仪_紫外测油仪_红外制样附件_傅里叶红外光谱技术生产服务厂商 | 氧化铝球_高铝球_氧化铝研磨球-淄博誉洁陶瓷新材料有限公司 | 礼仪庆典公司,礼仪策划公司,庆典公司,演出公司,演艺公司,年会酒会,生日寿宴,动工仪式,开工仪式,奠基典礼,商务会议,竣工落成,乔迁揭牌,签约启动-东莞市开门红文化传媒有限公司 | 电缆故障测试仪_电缆故障定位仪_探测仪_检测仪器_陕西意联电气厂家 | 液压扳手-高品质液压扳手供应商 - 液压扳手, 液压扳手供应商, 德国进口液压拉马 | 科昊仪器超纯水机系统-可成气相液氮罐-美菱超低温冰箱-西安昊兴生物科技有限公司 | 电采暖锅炉_超低温空气源热泵_空气源热水器-鑫鲁禹电锅炉空气能热泵厂家 | 道达尔润滑油-食品级润滑油-道达尔导热油-合成导热油,深圳道达尔代理商合-深圳浩方正大官网 | 考勤系统_考勤管理系统_网络考勤软件_政企|集团|工厂复杂考勤工时统计排班管理系统_天时考勤 | 【中联邦】增稠剂_增稠粉_水性增稠剂_涂料增稠剂_工业增稠剂生产厂家 | 广州番禺搬家公司_天河黄埔搬家公司_企业工厂搬迁_日式搬家_广州搬家公司_厚道搬迁搬家公司 | 阻垢剂-反渗透缓蚀阻垢剂厂家-山东鲁东环保科技有限公司 | 短信营销平台_短信群发平台_106短信发送平台-河南路尚 | 赛默飞Thermo veritiproPCR仪|ProFlex3 x 32PCR系统|Countess3细胞计数仪|371|3111二氧化碳培养箱|Mirco17R|Mirco21R离心机|仟诺生物 | 铸铝门厂家,别墅大门庭院大门,别墅铸铝门铜门[十大品牌厂家]军强门业 | 定硫仪,量热仪,工业分析仪,马弗炉,煤炭化验设备厂家,煤质化验仪器,焦炭化验设备鹤壁大德煤质工业分析仪,氟氯测定仪 | 硬度计,金相磨抛机_厂家-莱州华煜众信试验仪器有限公司 | 干粉砂浆设备_干混砂浆生产线_腻子粉加工设备_石膏抹灰砂浆生产成套设备厂家_干粉混合设备_砂子烘干机--郑州铭将机械设备有限公司 | 高防护蠕动泵-多通道灌装系统-高防护蠕动泵-www.bjhuiyufluid.com慧宇伟业(北京)流体设备有限公司 | 铣刨料沥青破碎机-沥青再生料设备-RAP热再生混合料破碎筛分设备 -江苏锡宝重工 | 陶瓷加热器,履带式加热器-吴江市兴达电热设备厂 | 蒜肠网-动漫,二次元,COSPLAY,漫展以及收藏型模型,手办,玩具的新媒体.(原变形金刚变迷TF圈) | 塑料熔指仪-塑料熔融指数仪-熔体流动速率试验机-广东宏拓仪器科技有限公司 | 水成膜泡沫灭火剂_氟蛋白泡沫液_河南新乡骏华消防科技厂家 | 工控机,嵌入式主板,工业主板,arm主板,图像采集卡,poe网卡,朗锐智科 | 广州企亚 - 数码直喷、白墨印花、源头厂家、透气无手感方案服务商! | 电液推杆生产厂家|电动推杆|液压推杆-扬州唯升机械有限公司 | 盘扣式脚手架-附着式升降脚手架-移动脚手架,专ye承包服务商 - 苏州安踏脚手架工程有限公司 | 济南保安公司加盟挂靠-亮剑国际安保服务集团总部-山东保安公司|济南保安培训学校 | 环氧乙烷灭菌器_压力蒸汽灭菌器_低温等离子过氧化氢灭菌器 _低温蒸汽甲醛灭菌器_清洗工作站_医用干燥柜_灭菌耗材-环氧乙烷灭菌器_脉动真空压力蒸汽灭菌器_低温等离子灭菌设备_河南省三强医疗器械有限责任公司 | 山东锐智科电检测仪器有限公司_超声波测厚仪,涂层测厚仪,里氏硬度计,电火花检漏仪,地下管线探测仪 | 工业铝型材生产厂家_铝合金型材配件批发精加工定制厂商 - 上海岐易铝业 | 琉璃瓦-琉璃瓦厂家-安徽盛阳新型建材科技有限公司 | 壹作文_中小学生优秀满分作文大全 | 翅片管散热器价格_钢制暖气片报价_钢制板式散热器厂家「河北冀春暖气片有限公司」 | 北京西风东韵品牌与包装设计公司,创造视觉销售力! | 磁力去毛刺机_去毛刺磁力抛光机_磁力光饰机_磁力滚抛机_精密金属零件去毛刺机厂家-冠古科技 | ORP控制器_ORP电极价格-上优泰百科 | 电磁铁_小型推拉电磁铁_电磁阀厂家-深圳市宗泰电机有限公司 | 南京交通事故律师-专打交通事故的南京律师 |