thinkphp表單上傳檔案並將檔案路徑儲存到資料庫中_php執行個體

來源:互聯網
上載者:User
上傳單個檔案,此文以上傳圖片為例,上傳效果

建立資料庫upload_img,用於儲存上傳路徑

CREATE TABLE `seminar_upload_img` (`id` int(11) NOT NULL AUTO_INCREMENT,`img_name` varchar(255) DEFAULT NULL COMMENT '圖片名稱',`img_url` varchar(255) DEFAULT NULL COMMENT '圖片路徑',`create_time` text,PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=23 DEFAULT CHARSET=utf8;

在公用設定檔Common/Conf.php中串連資料庫,並配置地址

return array('DB_TYPE'=>'mysql','DB_HOST'=>'127.0.0.1','DB_NAME'=>'seminar','DB_USER'=>'root','DB_PWD'=>'root','DB_PORT'=>3306,'DB_PREFIX'=>'seminar_','DB_CHARSET'=>'utf8','SHOW_PAGE_TRACE'=>true,/*地址替換*/'TMPL_PARSE_STRING'=>array('__UPLOAD__'=>__ROOT__.'/Public/Uploads',),); 

視圖檔案Upload/index.html中

上傳允許檔案類型:'jpg', 'gif', 'png', 'jpeg'影像檔後

控制器UploadController.class.php中實現上傳檔案

namespace Home\Controller;use Think\Controller;class UploadController extends Controller {public function index() {$img=M('upload_img');$sel=$img->order('create_time desc')->find();$this->assign('data', $sel);$this->display();}public function upload(){$upload_img=M('upload_img');if(!empty($_FILES)){//上傳單個映像$upload = new \Think\Upload();// 執行個體化上傳類$upload->maxSize = 1*1024*1024 ;// 設定附件上傳大小$upload->exts = array('jpg', 'gif', 'png', 'jpeg');// 設定附件上傳類型$upload->rootPath = 'Public/Uploads/'; // 設定附件上傳根目錄$upload->savePath = ''; // 設定附件上傳(子)目錄$upload->saveName=array('uniqid','');//上傳檔案的儲存規則$upload->autoSub = true;//自動使用子目錄儲存上傳檔案 $upload->subName = array('date','Ymd');// 上傳單個圖片$info = $upload->uploadOne($_FILES['image']);if(!$info) {// 上傳錯誤提示錯誤資訊$this->error($upload->getError());}else{// 上傳成功 擷取上傳檔案資訊$img_url=$info['savepath'].$info['savename'];$data['img_url']=$img_url;$data['img_name']=$info['savename'];$data['create_time']=NOW_TIME;$upload_img->create($data);$result=$upload_img->add();if(!$result){$this->error('上傳失敗!');}else{$this->success('上傳成功');}}}}}

以上所述是小編給大家介紹的thinkphp表單上傳檔案並將檔案路徑儲存到資料庫中,希望對大家有所協助,如果大家有任何疑問請給我留言,小編會及時回複大家的。在此也非常感謝大家對指令碼之家網站的支援!

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.