《PHP學習:ThinkPHP實現附件上傳功能》要點:
本文介紹了PHP學習:ThinkPHP實現附件上傳功能,希望對您有用。如果有疑問,可以聯系我們。
相關主題:thinkphp教程
剛學的使用ThinkPHP框架簡單上傳附件(圖片,文檔,視頻等文件)PHP應用
首先需要了解tp框架中Upload.class.php(ThinkPHP/Library/Think/Upload,class,php)中的幾個函數PHP應用
1:getError() 獲取上傳錯誤信息PHP應用
2:uploadOne() 上傳單個文件PHP應用
3:upload() 上傳多個文件PHP應用
4:rootPath 上傳文件保存根路徑PHP應用
代碼如下PHP應用
前臺:PHP應用
<td>商品圖片</td> <td> <input type="file" name="goods_pic" /> </td>
控制器PHP應用
//處理上傳附件圖片 //判斷是否上傳 4:沒有上傳附件 if ($_FILES['goods_pic']['error']<4) { //上傳 $cfg = array( 'rootPath' => './Public/uploads/', //保存根路徑 ); $upload = new \Think\Upload($cfg); //完全限定名稱 實例化對象 //uploadOne()方法執行成功后會把附件(在服務器上)的名字和路徑等相關信息返回 $file_info=$upload->uploadOne($_FILES['goods_pic']); //把上傳好的附件存到數據庫 拼接路徑 //$upload->rootPath通過父類upload.class.php中的__get()方法獲取配置中的rootPath $_POST['goods_big_img']=$upload->rootPath.$file_info['savepath'].$file_info['savename']; }
如果對上傳附件有其他要求,可參考父類Upload.class.php中上傳配置config參數進行選擇需要的參數,只需在上面代碼$cfg=array()中重寫即可!PHP應用
父類上傳配置參數如下(可根據自己要求重寫):PHP應用
private $config = array( 'mimes' => array(), //允許上傳的文件MiMe類型 'maxSize' => 0, //上傳的文件大小限制 (0-不做限制) 'exts' => array(), //允許上傳的文件后綴 'autoSub' => true, //自動子目錄保存文件 'subName' => array('date', 'Y-m-d'), //子目錄創建方式,[0]-函數名,[1]-參數,多個參數使用數組 'rootPath' => './Uploads/', //保存根路徑 'savePath' => '', //保存路徑 'saveName' => array('uniqid', ''), //上傳文件命名規則,[0]-函數名,[1]-參數,多個參數使用數組 'saveExt' => '', //文件保存后綴,空則使用原后綴 'replace' => false, //存在同名是否覆蓋 'hash' => true, //是否生成hash編碼 'callback' => false, //檢測文件是否存在回調,如果存在返回文件信息數組 'driver' => '', // 文件上傳驅動 'driverConfig' => array(), // 上傳驅動配置 );
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持維易PHP.PHP應用
轉載請注明本頁網址:
http://www.snjht.com/jiaocheng/901.html