gmnon.cn-疯狂蹂躏欧美一区二区精品,欧美精品久久久久a,高清在线视频日韩欧美,日韩免费av一区二区

站長資訊網
最全最豐富的資訊網站

詳解ThinkPHP怎么實現圖片上傳

下面由thinkphp框架教程欄目給大家介紹ThinkPHP怎么實現圖片上傳功能,希望對需要的朋友有所幫助!

直接上個例子,其中包括有單圖片文件上傳、多圖片文件上傳、以及刪除文件的一些操作、放置刪除數據庫的時候,僅僅刪除掉了數據庫之中的文件路徑、而不是一并刪除服務器之中的文件、放置服務器爆炸…

TP里面common文件夾里面function.php里面自定義方法:

<?php //文件上傳類(可以設置多個參數) function upload($file=null,$maxSize=0,$exts=0,$savePath='') {   //調用   $upload = new ThinkUpload();// 實例化上傳類   $upload->maxSize  = $maxSize;// 設置附件上傳大小   $upload->exts   = $exts; //array('jpg', 'gif', 'png', 'jpeg'); 設置附件上傳類型   $upload->savePath = $savePath; // 設置附件上傳目錄   // 上傳文件   //如果單個文件還是多個文件   if($file){    $info = $upload->uploadOne($file);   }else{   $info = $upload->upload();   }   //判定是否文件上傳成功de   if(!$info) {     return false;   }else{   // 上傳成功,     return $info;   } } //上傳圖片 function fab_upload($files ,$maxSize = 0,$exts = null,$savePath = '') {   //判定文件信息是否為空   if(empty($files)){     return false;   }   if($exts === null){     $exts = array('jpg', 'gif', 'png', 'jpeg');   }else{     $exts = 0;   }   $tmp = array();   //將文件信息(數組)用foreach循環遍歷,   foreach($files as $k => $v){   //判定文件大于0之后,將遍歷value作為參數傳入upload方法     if($v['size'] > 0){       $res = upload($v,$maxSize,$exts,$savePath);       //如果傳入成功就會將文件存儲路徑傳入數組$tmp[]之中       if($res){         $tmp[$k] = $res['savepath'].$res['savename'];       }     }   }   //將存儲傳入文件路徑的數組return回去   return $tmp; } ?>

其實無論哪個文件上傳、都是需要用$_FILES變量區操控的、

上面的方法是fab_upload調用upload方法的;

在HTML上我們表單是醬紫寫的:

<form action="{:U('Index/infoupload')}" method="post"style="overflow: hidden;clear: both;" enctype="multipart/form-data"> <p class="contact_r col-md-4">   <label class="contact_rc contact_file"><span><b>入臺證:</b><input class="inp_zj1" type="file" name="rutaiimg" ></span></label>   <!-- <a class="contact_sp fancybox" href="images/txz1.jpg" rel="external nofollow" rel="external nofollow" >如圖示</a> --> </p> <p class="contact_r col-md-4">   <label class="contact_rc contact_file"><span><b>通行證:</b><input class="inp_zj2" type="file" name="tongxingimg" ></span></label>   <!-- <a class="contact_sp fancybox" href="images/txz1.jpg" rel="external nofollow" rel="external nofollow" >如圖示</a> --> </p> </form>

控制器之中如何處理上傳的文件(拼接路徑以及文件名、還有入庫失敗需要刪除文件,類似回調)

/*調用寫好的方法進行驗證*/ $new_thumb = fab_upload($_FILES); // var_dump($new_thumb);die; $input['data']['addtime']=time();//生成申請時間 $input['data']['pretime']=strtotime($input['data']['pretime']);//將傳過來的日期轉換成時間戳 if($new_thumb && count($new_thumb) > 0){     $input['data'] = array_merge($input['data'],$new_thumb); } $f = $customer->add($input['data']); if($f){     $this->display('Index/infosuccess');     // $this->success("添加成功!",U('Index/infocheck',array('iccid'=>$input['data']['iccid']))); }else{//數據添加失敗即刪除照片     if($new_thumb){       $p = C('UNLINK_PATH').$new_thumb;       unlink($p);     }     $this->error("添加失敗!證件可能已存在"); }

其中UNLINK_PATH變量在ThinkPHP之中的config文件里面定義、是路徑來的

<?php return array(   'DB_TYPE'  => 'mysql', // 數據庫類型   'DB_HOST'  => 'localhost', // 服務器地址   'DB_NAME'  => 'urban', // 數據庫名   'DB_USER'  => 'root', // 用戶名   'DB_PWD'  => '123456', // 密碼   'DB_PORT'  => 3306, // 端口   'DB_PREFIX' => 'fab_', // 數據庫表前綴   'DB_CHARSET'=> 'utf8', // 字符集   'CHECK_ROOT' => true, //開啟rbac權限   'TMPL_CACHE_ON' => false,    // 是否開啟模板編譯緩存,設為false則每次都會重新編譯   'ACTION_CACHE_ON' => false, // 默認關閉Action 緩存   'HTML_CACHE_ON'  => false,  // 默認關閉靜態緩存   'FILE_PATH'=>'http://localhost/urban/Uploads/',   'WEB_PATH'  =>  'http://localhost/urban/index.php/',   'WEB_URL'  =>  'http://localhost/urban/',   'UNLINK_PATH'  =>  './Uploads/',   'PWD_KEY'  => 'jeiskAsdlLsdfqaiocvwphxzbtu',   'AUTO_LOGIN_TIME'=>3600 * 24 * 7,   'SHOW_PAGE_TRACE'=>true, //追蹤模式   'MY_CATCH_DIR' =>'./cache/', //緩存目錄   'CODE_PATH' =>'http://localhost/urban/fabp/phpqrcode/',  // 存放二維碼的目錄   'qq_face' =>'http://localhost/urban/Public/site/images/arclist/',   //qq表情路徑   'wxlogin' => array(     'appid' => 'wx35f5b9e9b90539ae',     'AppSecret' => '4de424bee1529a8abeda9c0c52aad3aa',     'callback' => 'http://localhost/urban/index.php/Home/Login/call_back.html'     ),   'topic_pass'=>false,  //是否開啟話題審核 );

當添加以后,自然需要在后臺管理模塊上添加刪除的function

上面的顯示圖片的時候,用HTTP協議的絕對路徑拼接出來顯示圖片;

而刪除圖片則是,以入口文件index.php為準,是當前文件夾下面的upload文件夾;

記住調用ThinkPHP之中的upload、uploadone方法返回來的只是上傳文件在upload文件夾下面的存儲位置、“'2016-09-02/57c94e71f0916.png'”(入庫也這個吧)

所以無論刪除還是顯示都需要用C方法拼接一下

if(IS_POST){     $input=I('post.');     $ids=implode(',',$input['id']);     $brand=D('brand');     $img=$brand->where("brand_id in ($ids)")->getField('thumb',true);     foreach($img as $v){       $p = C('UNLINK_PATH').$v;       unlink($p);     }     $res=$brand->where("brand_id in ($ids)")->delete();     if($res){       $this->success("刪除運營商品牌成功!");     }else{       $this->error("刪除運營商品牌失敗!");     } }

之所以用了那個foreach;是因為傳過來的id不是唯一一個;是多選,刪除;

多選,并且傳過去相應欄目ID的值是如何實現的呢

<foreach name="list" item="v">   <tr>     <td class="center" width="80px">       <label>         <input type="checkbox" class="ace" name="id[]" value="{$v.brand_id}"/>         <span class="lbl"></span>       </label>     </td>     <td>{$v.brand_name}</td>   </tr> </foreach> <tr>     <td colspan="2">       <button class="btn btn-xs btn-danger" onclick="return tijiao('del')">         <i class="icon-trash bigger-110"></i>         刪除       </button>      </td>   </tr>

上面刪除的javascript方法是這樣寫的:

<script type="text/javascript"> function tijiao(type){   if(type == 'del'){     $('#my_form').attr('action',"{:U('Admin/Brand/brand_del')}");   }else if(type == 'sort'){     $('#my_form').attr('action',"{:U('Admin/Brand/brand_sort')}");   }   return true; } </script>

附加:其實判定文件是否有上傳最好用這個數據:

$_FILES['input_name']['size']

是否大于零;

推薦:《最新的10個thinkphp視頻教程》

贊(0)
分享到: 更多 (0)
?
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
gmnon.cn-疯狂蹂躏欧美一区二区精品,欧美精品久久久久a,高清在线视频日韩欧美,日韩免费av一区二区
国产三级中文字幕| 2022亚洲天堂| 欧美激情第3页| 男女啪啪网站视频| 毛葺葺老太做受视频| 国产91美女视频| 5月婷婷6月丁香| 丝袜老师办公室里做好紧好爽 | 女人被男人躁得好爽免费视频| 一起操在线视频| 欧美日韩中文不卡| 99re99热| 免费cad大片在线观看| 视色,视色影院,视色影库,视色网 日韩精品福利片午夜免费观看 | 久久6免费视频| 国产福利精品一区二区三区| 一个色综合久久| 想看黄色一级片| 欧美性受xxxx黑人猛交88| 天堂av免费看| 精品视频在线观看一区| 欧美综合在线观看视频| 欧美国产日韩另类 | 国产精品va在线观看无码| 精品少妇人欧美激情在线观看| 青青青免费在线| 亚洲xxxx2d动漫1| 欧洲金发美女大战黑人| 男的插女的下面视频| 九色91popny| 日韩中文字幕亚洲精品欧美| 日日橹狠狠爱欧美超碰| 中文字幕免费高清在线| www.日本在线播放| 欧美成人三级在线播放| av网站手机在线观看| 亚洲国产精品久久久久爰色欲| 九九九九九伊人| 免费观看美女裸体网站| 天堂网成人在线| www.com毛片| 中国一级大黄大黄大色毛片| 日韩视频在线免费看| 国产对白在线播放| 日本爱爱免费视频| 成人免费aaa| 国产高清免费在线| 国产精品嫩草影院8vv8| 欧美黄色一级片视频| 免费超爽大片黄| 亚洲午夜激情影院| 日韩在线一级片| 久久手机在线视频| 一级日本黄色片| 视频免费1区二区三区| 黄色片视频在线播放| 男人日女人逼逼| 国产情侣第一页| www.99riav| 日本福利视频在线观看| www.亚洲一区二区| 午夜影院免费版| 亚欧精品在线视频| 五月天男人天堂| 少妇熟女一区二区| 亚洲av综合色区| 在线播放 亚洲| 黄色a级在线观看| 男女激烈动态图| 午夜啪啪福利视频| 日本免费成人网| 成年人深夜视频| 18禁免费观看网站| 欧美三级一级片| 国产免费人做人爱午夜视频| 欧美日韩大尺度| www.这里只有精品| 三年中国中文在线观看免费播放| 午夜免费福利网站| 欧美 日韩 国产精品| 东北少妇不带套对白| 亚洲午夜精品久久久久久人妖| 欧美性久久久久| 天天干天天操天天做| 日韩欧美中文在线视频| 日本丰满大乳奶| 欧美日韩在线中文| www.国产视频.com| 国产资源在线免费观看| 国产一区二区在线视频播放| 国产精品入口免费软件| 伊人免费视频二| 国模无码视频一区二区三区| 日本一极黄色片| 国产探花在线观看视频| 天天夜碰日日摸日日澡性色av| 成人午夜视频免费在线观看| а 天堂 在线| 国产男女无遮挡| 99热一区二区三区| 香蕉视频网站入口| 日本成人在线不卡| 蜜臀av免费观看| 成人午夜精品久久久久久久蜜臀| 不卡av免费在线| 国产一线二线三线女| 国产一区二区在线观看免费视频| 美脚丝袜脚交一区二区| 17c国产在线| 亚洲国产精品毛片av不卡在线| 视频一区二区视频| 超碰在线97免费| 阿v天堂2017| 国产女教师bbwbbwbbw| 天天综合网久久| 东京热加勒比无码少妇| 日本人妻伦在线中文字幕| 中文字幕国产免费| 亚洲成人福利在线观看| 国产成人无码精品久久久性色| 亚洲一二区在线观看| 伊人国产在线视频| 国产精品人人爽人人爽| 成人综合视频在线| 欧美黑人经典片免费观看| 日韩国产成人无码av毛片| 视频一区二区视频| eeuss中文| 公共露出暴露狂另类av| 91免费网站视频| 五月天婷婷影视| 久久久国产精华液999999 | 欧美韩国日本在线| 欧洲黄色一级视频| 免费看国产曰批40分钟| 人人妻人人添人人爽欧美一区| 欧美人成在线观看| 无码粉嫩虎白一线天在线观看 | 真人做人试看60分钟免费| 国产卡一卡二在线| 四虎精品欧美一区二区免费| 亚洲精品天堂成人片av在线播放 | 鲁一鲁一鲁一鲁一av| 第四色婷婷基地| 国产xxxxhd| 美女黄色免费看| 日韩精品一区二区三区久久| av视屏在线播放| www.久久com| 777777av| 久久99999| 青青草视频国产| 国产精品亚洲a| 五月六月丁香婷婷| 99er在线视频| 日本爱爱免费视频| 日韩视频 中文字幕| 干日本少妇首页| 国产成年人在线观看| 91视频 -- 69xx| 91精品视频国产| 九色在线视频观看| 波多野结衣在线免费观看| 久久99久久99精品| 午夜免费福利视频在线观看| 亚洲色成人www永久在线观看 | 欧美日韩视频免费在线观看| 成人免费在线网| 五月天视频在线观看| 国产精品裸体瑜伽视频| 午夜免费看视频| 日本中文字幕片| 天天干天天色天天爽| 免费看国产黄色片| 色欲色香天天天综合网www| 一区二区免费av| 岳毛多又紧做起爽| 日本熟妇人妻xxxx| 天天爱天天做天天操| 无码少妇一区二区三区芒果| 日韩精品久久一区二区| 伊人五月天婷婷| 性欧美videossex精品| 高清在线观看免费| 成人免费a级片| 精品无码av无码免费专区| 亚洲欧美偷拍另类| 日本特黄a级片| 欧美aⅴ在线观看| 成人一对一视频| 99久热在线精品视频| 亚洲色图欧美自拍| www.污网站| 午夜大片在线观看| 午夜啪啪小视频| 911福利视频| 亚洲xxx在线观看| 自拍偷拍21p| 五月天婷婷影视| 中文字幕综合在线观看|