ThinkPHP實現附件上傳功能_php執行個體

來源:互聯網
上載者:User
這篇文章主要為大家詳細介紹了ThinkPHP實現附件上傳功能,圖片,文檔,視頻等檔案進行上傳,具有一定的參考價值,感興趣的小夥伴們可以參考一下

剛學的使用ThinkPHP架構簡單上傳附件(圖片,文檔,視頻等檔案)

首先需要瞭解tp架構中Upload.class.php(ThinkPHP/Library/Think/Upload,class,php)中的幾個函數

1:getError() 擷取上傳錯誤資訊

2:uploadOne() 上傳單個檔案

3:upload() 上傳多個檔案

4:rootPath 上傳檔案儲存根路徑

代碼如下

前台:

<td>商品圖片</td><td> <input type="file" name="goods_pic" /></td>

控制器

//處理上傳附件圖片    //判斷是否上傳 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()中重寫即可!

父類上傳配置參數如下(可根據自己要求重寫):

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(), // 上傳驅動配置 );

以上就是本文的全部內容,希望對大家的學習有所協助。


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.