《PHP實(shí)例:thinkphp實(shí)現(xiàn)圖片上傳功能》要點(diǎn):
本文介紹了PHP實(shí)例:thinkphp實(shí)現(xiàn)圖片上傳功能,希望對(duì)您有用。如果有疑問,可以聯(lián)系我們。
相關(guān)主題:thinkphp教程
PHP教程關(guān)于圖片上傳,實(shí)現(xiàn)辦法很多,比如可以用jQuery,當(dāng)然,我們的thinkPHP內(nèi)置了關(guān)于圖片上傳的功能,我們可以直接使用,使用辦法如下:
PHP教程首先,是表單書寫,我們建立如下表單:
PHP教程
<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">游戲簡(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="重新填寫"/></td>
</tr>
</tbody>
</table>
</form>
PHP教程這里有個(gè)非常重要的地方,就是一定要在表單項(xiàng)目添加上enctype="multipart/form-data"這一點(diǎn)是非常重要的,因?yàn)檫@個(gè)是允許你上傳的類型的,如果沒有他,就不能上傳,關(guān)于enctype的其他幾種類型,我會(huì)在以后的文章上說明.這里我們新建php文件AddAction.class.php,代碼如下;
PHP教程
class AddAction extends Action{
/**
* 說明:ThinkPHP文件上傳測(cè)試函數(shù)
* 版本:1.0
*/
public function addChk(){
//導(dǎo)入圖片上傳類
import("ORG.Net.UploadFile");
//實(shí)例化上傳類
$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è)置文件上傳名(依照時(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ù)庫(kù)
if ($res){
$this->redirect("addGame","",2,"添加成功!兩秒后跳回");
}else{
$this->redirect("addGame","",2,"失敗!兩秒后跳回");
}
}
PHP教程這里說明一下,首先是php中的連接符是點(diǎn)(.)不是+,這一點(diǎn)在很多java使用者里面通常使用+連接兩個(gè)字符串的,所以這一點(diǎn)容易混淆.
PHP教程以上就是針對(duì)thinkphp圖片上傳功能實(shí)現(xiàn)代碼的介紹,贊助大家更好的學(xué)習(xí)掌握php程序設(shè)計(jì).
歡迎參與《PHP實(shí)例:thinkphp實(shí)現(xiàn)圖片上傳功能》討論,分享您的想法,維易PHP學(xué)院為您提供專業(yè)教程。
轉(zhuǎn)載請(qǐng)注明本頁網(wǎng)址:
http://www.snjht.com/jiaocheng/7734.html