ThinkPhp框架:文件上傳
阿新 • • 發佈:2017-07-10
load 1-1 method 文檔 文件夾 文件上傳 實例 成功 upload
實現文件上傳功能需要控制器,方法然後是顯示的頁面
1.在Controller下新建一個控制器TestController.class.php
2.創建操作方法
<?php namespace Home\Controller; use Think\Controller; class TestController extends Controller { public function shangchuan(){ $this->show();//顯示模版頁面 } }
3.在Home文件夾裏View文件夾下新建一個Test文件夾,在Test文件夾下創建上傳的模版頁
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>無標題文檔</title> <script src="__ROOT__/Public/js/jquery-3.2.0.min.js"></script> </head> <body> <h1>文件上傳</h1> <form action="__CONTROLLER__/wjsc" method="post" enctype="multipart/form-data"> <input type="file" name="file"/> <input type="submit" value="上傳"/> </form> </body> </html>
4.讓上傳指向一個操作方法,新建一個wjsc操作方法
<?php namespace Home\Controller; use Think\Controller; class TestController extends Controller { public function shangchuan(){ $this->show(); } public function wjsc(){ $u = new \Think\Upload();//實例化上傳類 \是初始命名空間 Think是根命名空間 Upload是類 $u->maxSize = 1024000;//設置文件大小 $u->rootPath = "./Public/";//文件存放的根路徑 $u->savePath = "./upload/";//設置當前上傳的文件存放的位置 $u->exts = array(‘jpg‘, ‘gif‘, ‘png‘, ‘jpeg‘);// 設置附件上傳類型 $info = $u->upload();//上傳文件並返回文件信息 if($info){ echo"上傳成功,文件存放在:".$info["file"][‘savepath‘]; }else{ echo $u->getError(); } }
看一下實現的效果:
會顯示文件上傳的保存路徑(相對於根路徑)
下面是供參考的上傳參數和文件上傳信息參數
ThinkPhp框架:文件上傳