thinkphp實(shí)現(xiàn)圖片上傳功能
關(guān)于圖片上傳,實(shí)現(xiàn)方法很多,比如可以用jQuery,當(dāng)然,我們的thinkPHP內(nèi)置了關(guān)于圖片上傳的功能,我們可以直接使用,使用方法如下:
首先,是表單書(shū)寫(xiě),我們建立如下表單:
<form action="__URL__/addChk" method="post" enctype="multipart/form-data"> <table cellspacing="1" cellpadding="2" width="99%" align="center" border="0"> <tbody> <tr> <th align="left" colspan="2" height="25">添加新游戲</th> </tr> <tr> <td width="17%" height="23">游戲名稱(chēng)</td> <td width="83%"><strong><input type="text" name="gamename" /></strong></td> </tr> <tr> <td height="23">游戲圖片</td> <td ><input type="file" name="gameimg"/></td> </tr> <tr> <td width="17%" height="23">游戲簡(jiǎn)介<span></span></td> <td width="83%"><textarea name="gameinfo" cols="30" rows="5"></textarea></td> </tr> <tr> <td height="23">游戲地址:</td> <td> <input type="text" name="gamelink"/></td> </tr> <tr> <td height="23" colspan="2" ><input type="submit" value="添加" /> <input type="reset" value="重新填寫(xiě)"/></td> </tr> </tbody> </table> </form>
這里有個(gè)非常重要的地方,就是一定要在表單項(xiàng)目添加上enctype="multipart/form-data"這一點(diǎn)是非常重要的,因?yàn)檫@個(gè)是允許你上傳的類(lèi)型的,如果沒(méi)有他,就不能上傳,關(guān)于enctype的其他幾種類(lèi)型,我會(huì)在以后的文章上說(shuō)明。這里我們新建php文件AddAction.class.php,代碼如下;
class AddAction extends Action{ /** * 說(shuō)明:ThinkPHP文件上傳測(cè)試函數(shù) * 版本:1.0 */ public function addChk(){ //導(dǎo)入圖片上傳類(lèi) import("ORG.Net.UploadFile"); //實(shí)例化上傳類(lèi) $upload = new UploadFile(); $upload->maxSize = 3145728; //設(shè)置文件上傳類(lèi)型 $upload->allowExts = array('jpg','gif','png','jpeg'); //設(shè)置文件上傳位置 $upload->savePath = "./Public/Uploads/";//這里說(shuō)明一下,由于ThinkPHP是有入口文件的,所以這里的./Public是指網(wǎng)站根目錄下的Public文件夾 //設(shè)置文件上傳名(按照時(shí)間) $upload->saveRule = "time"; if (!$upload->upload()){ $this->error($upload->getErrorMsg()); }else{ //上傳成功,獲取上傳信息 $info = $upload->getUploadFileInfo(); } //保存表單數(shù)據(jù),包括上傳的圖片 $game = M("Game"); $game->create(); $savename = $info[0]['savename']; //$savepath = $info[0]['savepath']; //$aa = $savepath.$savename; //dump($aa); $imgurl = "http://demo.dutycode.com/Public/Uploads/".$savename;//這里是設(shè)置文件的url注意使用.不是+ //dump($imgurl); $data['gamename'] = $_POST['gamename']; $data['gameimg'] = $imgurl; $data['gameinfo'] = $_POST['gameinfo']; $data['gamelink'] = $_POST['gamelink']; $data['publishtime'] = date("Y-m-d H:i:s"); $res = $game->add($data);//寫(xiě)入數(shù)據(jù)庫(kù) if ($res){ $this->redirect("addGame","",2,"添加成功!兩秒后跳回"); }else{ $this->redirect("addGame","",2,"失敗!兩秒后跳回"); } }
這里說(shuō)明一下,首先是php中的連接符是點(diǎn)(.)不是+,這一點(diǎn)在很多java使用者里面通常使用+連接兩個(gè)字符串的,所以這一點(diǎn)容易混淆。
以上就是針對(duì)thinkphp圖片上傳功能實(shí)現(xiàn)代碼的介紹,幫助大家更好的學(xué)習(xí)掌握php程序設(shè)計(jì)。
- ThinkPHP5+Layui實(shí)現(xiàn)圖片上傳加預(yù)覽功能
- ThinkPHP5.0 圖片上傳生成縮略圖實(shí)例代碼說(shuō)明
- 基于ThinkPHP5.0實(shí)現(xiàn)圖片上傳插件
- ThinkPHP實(shí)現(xiàn)圖片上傳操作的方法詳解
- thinkphp jquery實(shí)現(xiàn)圖片上傳和預(yù)覽效果
- 使用ThinkPHP+Uploadify實(shí)現(xiàn)圖片上傳功能
- thinkphp實(shí)現(xiàn)圖片上傳功能分享
- thinkPHP5框架整合plupload實(shí)現(xiàn)圖片批量上傳功能的方法
- thinkphp ajaxfileupload實(shí)現(xiàn)異步上傳圖片的示例
- thinkPHP實(shí)現(xiàn)上傳圖片及生成縮略圖功能示例
- ThinkPHP框架實(shí)現(xiàn)FTP圖片上傳功能示例
相關(guān)文章
php使用CURL不依賴(lài)COOKIEJAR獲取COOKIE的方法
這篇文章主要介紹了php使用CURL不依賴(lài)COOKIEJAR獲取COOKIE的方法,實(shí)例分析了curl操作cookie的技巧,需要的朋友可以參考下2015-06-06php 模擬GMAIL,HOTMAIL(MSN),YAHOO,163,126郵箱登錄的詳細(xì)介紹
本篇文章是對(duì)php模擬GMAIL,HOTMAIL(MSN),YAHOO,163,126郵箱登錄的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06php操作mysql獲取select 結(jié)果的幾種方法
這篇文章主要介紹了php操作mysql獲取select 結(jié)果的幾種方法,需要的朋友可以參考下2017-11-11PHP改進(jìn)計(jì)算字符串相似度的函數(shù)similar_text()、levenshtein()
PHP 原生的similar_text()函數(shù)、levenshtein()函數(shù)對(duì)中文漢字支持不好,我自己寫(xiě)了一個(gè),測(cè)試使用正常,推薦給大家,如果有什么問(wèn)題,請(qǐng)留言2014-10-10