6.15 FileUpload使用说明

DoitPHP的扩展类FileUpload,顾名思义,用于处理文件上传的类。

类方法使用说明:

1、moveFile($files, $destFile)

文件上传处理。

参数说明:
$files : $_FILE的参数名
$destFile : 上传后的文件路径

2、setLimitType($type)

设置上传文件的限制格式,即:文件后缀。

参数说明:
$type : 所限制上传文件后缀。注:本参数为数组

3、setLimitSize($fileSize)

设置上传文件的最大的限制大小。系统默认为8M。

参数说明:
$fileSize : 文件的大小(file size)。单位:字节

4、getErrorInfo()

获取错误提示信息。

参数说明:
参数为空

举例说明:

例一、文件上传

Controller文件代码内容如下:

namespace controllers;

use doitphp\core\Controller;

class IndexController extends Controller {

public function indexAction(){

$this->assign('actionUrl', $this->getActionUrl('upload'));
$this->display();
}

public function uploadAction(){

$fileObj = $this->instance('FileUpload');
$distFile = 'E:/MyPHP/demo/'.$_FILES['upload']['name'];

$result = $fileObj->setLimitSize(102400)
->setLimitType(array('jpg', 'gif', 'png'))
->moveFile($_FILES['upload'], $distFile);

echo (!$result) ? $fileObj->getErrorInfo() : '文件上传成功!';
}
}

由上面代码可知,uploadAction()无需视图文件,只需一个视图文件index.php,视图文件代码内容为:

<!DOCTYPE>
<html>
<head>
<meta charset="utf-8">
<title>File Upload Demo</title>
</head>
<body>
<form action="<?php echo $actionUrl; ?>" method="post" enctype="multipart/form-data">
<input type="file" name="upload" />
<input name="submit" type="submit" value="upload" />
</form>
</body>
</html>