溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

thinkphp實現(xiàn)圖片上傳功能的示例分析

發(fā)布時間:2021-06-25 13:41:53 來源:億速云 閱讀:143 作者:小新 欄目:開發(fā)技術(shù)

這篇文章主要為大家展示了“thinkphp實現(xiàn)圖片上傳功能的示例分析”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“thinkphp實現(xiàn)圖片上傳功能的示例分析”這篇文章吧。

首先,是表單書寫,我們建立如下表單:

<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">游戲名稱</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">游戲簡介<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="重新填寫"/></td> 
   </tr> 
  </tbody> 
  </table> 
</form>

這里有個非常重要的地方,就是一定要在表單項目添加上enctype="multipart/form-data"這一點是非常重要的,因為這個是允許你上傳的類型的,如果沒有他,就不能上傳,關(guān)于enctype的其他幾種類型,我會在以后的文章上說明。這里我們新建php文件AddAction.class.php,代碼如下;

class AddAction extends Action{ 
 /** 
 * 說明:ThinkPHP文件上傳測試函數(shù) 
 * 版本:1.0 

 */ 
 public function addChk(){ 
   //導(dǎo)入圖片上傳類 
   import("ORG.Net.UploadFile"); 
   //實例化上傳類 
   $upload = new UploadFile(); 
   $upload->maxSize = 3145728; 
   //設(shè)置文件上傳類型 
   $upload->allowExts = array('jpg','gif','png','jpeg'); 
   //設(shè)置文件上傳位置 
   $upload->savePath = "./Public/Uploads/";//這里說明一下,由于ThinkPHP是有入口文件的,所以這里的./Public是指網(wǎng)站根目錄下的Public文件夾 
   //設(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);//寫入數(shù)據(jù)庫 
   if ($res){ 
    $this->redirect("addGame","",2,"添加成功!兩秒后跳回"); 
   }else{ 
    $this->redirect("addGame","",2,"失敗!兩秒后跳回"); 
   } 
}

這里說明一下,首先是php中的連接符是點(.)不是+,這一點在很多java使用者里面通常使用+連接兩個字符串的,所以這一點容易混淆。

以上是“thinkphp實現(xiàn)圖片上傳功能的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI