ThinkPHP實(shí)現(xiàn)附件上傳功能
剛學(xué)的使用ThinkPHP框架簡(jiǎn)單上傳附件(圖片,文檔,視頻等文件)
首先需要了解tp框架中Upload.class.php(ThinkPHP/Library/Think/Upload,class,php)中的幾個(gè)函數(shù)
1:getError() 獲取上傳錯(cuò)誤信息
2:uploadOne() 上傳單個(gè)文件
3:upload() 上傳多個(gè)文件
4:rootPath 上傳文件保存根路徑
代碼如下
前臺(tái):
<td>商品圖片</td> <td> <input type="file" name="goods_pic" /> </td>
控制器
//處理上傳附件圖片
//判斷是否上傳 4:沒(méi)有上傳附件
if ($_FILES['goods_pic']['error']<4) {
//上傳
$cfg = array(
'rootPath' => './Public/uploads/', //保存根路徑
);
$upload = new \Think\Upload($cfg); //完全限定名稱 實(shí)例化對(duì)象
//uploadOne()方法執(zhí)行成功后會(huì)把附件(在服務(wù)器上)的名字和路徑等相關(guān)信息返回
$file_info=$upload->uploadOne($_FILES['goods_pic']);
//把上傳好的附件存到數(shù)據(jù)庫(kù) 拼接路徑
//$upload->rootPath通過(guò)父類upload.class.php中的__get()方法獲取配置中的rootPath
$_POST['goods_big_img']=$upload->rootPath.$file_info['savepath'].$file_info['savename'];
}
如果對(duì)上傳附件有其他要求,可參考父類Upload.class.php中上傳配置config參數(shù)進(jìn)行選擇需要的參數(shù),只需在上面代碼$cfg=array()中重寫(xiě)即可!
父類上傳配置參數(shù)如下(可根據(jù)自己要求重寫(xiě)):
private $config = array(
'mimes' => array(), //允許上傳的文件MiMe類型
'maxSize' => 0, //上傳的文件大小限制 (0-不做限制)
'exts' => array(), //允許上傳的文件后綴
'autoSub' => true, //自動(dòng)子目錄保存文件
'subName' => array('date', 'Y-m-d'), //子目錄創(chuàng)建方式,[0]-函數(shù)名,[1]-參數(shù),多個(gè)參數(shù)使用數(shù)組
'rootPath' => './Uploads/', //保存根路徑
'savePath' => '', //保存路徑
'saveName' => array('uniqid', ''), //上傳文件命名規(guī)則,[0]-函數(shù)名,[1]-參數(shù),多個(gè)參數(shù)使用數(shù)組
'saveExt' => '', //文件保存后綴,空則使用原后綴
'replace' => false, //存在同名是否覆蓋
'hash' => true, //是否生成hash編碼
'callback' => false, //檢測(cè)文件是否存在回調(diào),如果存在返回文件信息數(shù)組
'driver' => '', // 文件上傳驅(qū)動(dòng)
'driverConfig' => array(), // 上傳驅(qū)動(dòng)配置
);
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- ThinkPHP使用心得分享-上傳類UploadFile的使用
- ThinkPHP文件上傳實(shí)例教程
- 使用ThinkPHP+Uploadify實(shí)現(xiàn)圖片上傳功能
- ThinkPHP結(jié)合AjaxFileUploader實(shí)現(xiàn)無(wú)刷新文件上傳的方法
- Thinkphp多文件上傳實(shí)現(xiàn)方法
- thinkphp表單上傳文件并將文件路徑保存到數(shù)據(jù)庫(kù)中
- 封裝ThinkPHP的一個(gè)文件上傳方法實(shí)例
- thinkPHP3.2簡(jiǎn)單實(shí)現(xiàn)文件上傳的方法
- thinkphp實(shí)現(xiàn)圖片上傳功能
- thinkphp jquery實(shí)現(xiàn)圖片上傳和預(yù)覽效果
相關(guān)文章
phpcms手機(jī)內(nèi)容頁(yè)面添加上一篇和下一篇
本文給大家分享的是在phpcms中的手機(jī)內(nèi)容詳情頁(yè)里添加上一篇和下一篇的方法,十分的簡(jiǎn)單實(shí)用,有需要的小伙伴可以參考下。2015-06-06
ThinkPHP控制器里javascript代碼不能執(zhí)行的解決方法
這篇文章主要介紹了ThinkPHP控制器里javascript代碼不能執(zhí)行的解決方法,采用ThinkPHP的<literal>標(biāo)簽來(lái)解決javascript標(biāo)簽被解析的問(wèn)題,是非常實(shí)用的技巧,需要的朋友可以參考下2014-11-11
2個(gè)Codeigniter文件批量上傳控制器寫(xiě)法例子
這篇文章主要介紹了2個(gè)Codeigniter文件批量上傳控制器寫(xiě)法例子,需要的朋友可以參考下2014-07-07
PHP本地進(jìn)行API接口測(cè)試的實(shí)例
下面小編就為大家分享一篇PHP本地進(jìn)行API接口測(cè)試的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-03-03
codeigniter集成ucenter1.6雙向通信的解決辦法
用codeigniter開(kāi)發(fā)一個(gè)子網(wǎng)站,之后想和原來(lái)的論壇進(jìn)行同步,包括同步登陸和雙向通信。這篇文章主要介紹了codeigniter集成ucenter1.6雙向通信的解決辦法,需要的朋友可以參考下2014-06-06
ThinkPHP實(shí)現(xiàn)事務(wù)回滾示例代碼
這篇文章主要介紹了ThinkPHP實(shí)現(xiàn)事務(wù)回滾,需要的朋友可以參考下2014-06-06
使用laravel和ECharts實(shí)現(xiàn)折線圖效果的例子
今天小編就為大家分享一篇使用laravel和ECharts實(shí)現(xiàn)折線圖效果的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-10-10
PHP 獲取遠(yuǎn)程網(wǎng)頁(yè)內(nèi)容的代碼(fopen,curl已測(cè))
獲取遠(yuǎn)程網(wǎng)頁(yè)內(nèi)容的php代碼,做小偷采集程序的程序經(jīng)常用得到,現(xiàn)在用curl的比較多。2011-06-06

