1. 程式人生 > >ThinkPhp框架:文件上傳

ThinkPhp框架:文件上傳

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框架:文件上傳