TP3.2出来了,但是原来的上传类被改变,新的类如何使用?这里给大家做个简单教程。
TP3.2出来了,但是原来的上传类被改变,新的类如何使用?这里给大家做个简单教程。<?php <br />
//名称空间<br>
namespace Open\Controller;<br>
//加载控制器类<br>
use Think\Controller;<br>
//加载上传类<br>
use Think\Upload;<br>
<br>
class FileController extends Controller {<br>
<br>
public function test_upload($ftype = 'image') {<br>
if ($ftype == 'image') {<br>
$ftype = array('jpg', 'gif', 'png', 'jpeg');<br>
} else if ($ftype == 'file') {<br>
$ftype = array('zip', 'doc', 'rar', 'xls');<br>
}<br>
<br>
$setting = array(<br>
'mimes' => '', //允许上传的文件MiMe类型<br>
'maxSize' => 6 * 1024 * 1024, //上传的文件大小限制 (0-不做限制)<br>
'exts' => $ftype, //允许上传的文件后缀<br>
'autoSub' => true, //自动子目录保存文件<br>
'subName' => array('date', 'Y-m-d'), //子目录创建方式,[0]-函数名,[1]-参数,多个参数使用数组<br>
'rootPath' => './Uploads/', //保存根路径<br>
'savePath' => '', //保存路径<br>
);<br>
<br>
/* 调用文件上传组件上传文件 */<br>
//实例化上传类,传入上面的配置数组<br>
$this->uploader = new Upload($setting, 'Local');<br>
$info = $this->uploader->upload($_FILES);<br>
<br>
//这里判断是否上传成功<br>
if ($info) {<br>
//// 上传成功 获取上传文件信息<br>
foreach ($info as &$file) {<br>
//拼接出上传目录<br>
$file['rootpath'] = __ROOT__ . ltrim($setting['rootPath'], ".");<br>
//拼接出文件相对路径<br>
$file['filepath'] = $file['rootpath'] . $file['savepath'] . $file['savename'];<br>
}<br>
//这里可以输出一下结果,相对路径的键名是$info['upload']['filepath']<br>
dump($info['upload']);<br>
exit();<br>
} else {<br>
//输出错误信息<br>
exit($this->uploader->getError());<br>
}<br>
}<br>
}
好了,上面的代码已经完成了基本的上传功能,如果你要测试,可以直接将表单提交到这个方法上,就可以看到结果了。
示例:<form>这个文件我放在Open模块(原来的分组)下了。 <p class="da_word">AD:真正免费,域名+虚机+企业邮箱=0元 </p>
</form>