mirror of
https://gitee.com/fastadminnet/framework.git
synced 2026-07-06 23:02:48 +08:00
改进File类的架构方法 支持SplFileObject类完整参数
This commit is contained in:
@@ -26,18 +26,37 @@ class File extends SplFileObject
|
|||||||
protected $rule = 'date';
|
protected $rule = 'date';
|
||||||
// 单元测试
|
// 单元测试
|
||||||
protected $isTest;
|
protected $isTest;
|
||||||
|
|
||||||
// 上传文件信息
|
// 上传文件信息
|
||||||
protected $info;
|
protected $info;
|
||||||
|
|
||||||
public function __construct($filename, $info = [], $isTest = false)
|
public function __construct($filename, $mode = 'r', $useIncludePath = false, $context = null)
|
||||||
{
|
{
|
||||||
parent::__construct($filename);
|
parent::__construct($filename, $mode, $useIncludePath, $context);
|
||||||
$this->info = $info;
|
|
||||||
$this->isTest = $isTest;
|
|
||||||
$this->filename = $this->getRealPath();
|
$this->filename = $this->getRealPath();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 是否测试
|
||||||
|
* @param bool $test 是否测试
|
||||||
|
* @return $this
|
||||||
|
*/
|
||||||
|
public function isTest($test = false)
|
||||||
|
{
|
||||||
|
$this->isTest = $test;
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设置上传信息
|
||||||
|
* @param bool $info 上传文件信息
|
||||||
|
* @return $this
|
||||||
|
*/
|
||||||
|
public function setUploadInfo($info)
|
||||||
|
{
|
||||||
|
$this->info = $info;
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取上传文件的信息
|
* 获取上传文件的信息
|
||||||
* @param string $name
|
* @param string $name
|
||||||
@@ -94,7 +113,7 @@ class File extends SplFileObject
|
|||||||
*/
|
*/
|
||||||
public function isValid()
|
public function isValid()
|
||||||
{
|
{
|
||||||
if($this->isTest){
|
if ($this->isTest) {
|
||||||
return is_file($this->filename);
|
return is_file($this->filename);
|
||||||
}
|
}
|
||||||
return is_uploaded_file($this->filename);
|
return is_uploaded_file($this->filename);
|
||||||
@@ -131,8 +150,8 @@ class File extends SplFileObject
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* 移动文件 */
|
/* 移动文件 */
|
||||||
if($this->isTest){
|
if ($this->isTest) {
|
||||||
rename($this->filename, $path.$savename);
|
rename($this->filename, $path . $savename);
|
||||||
} elseif (!move_uploaded_file($this->filename, $path . $savename)) {
|
} elseif (!move_uploaded_file($this->filename, $path . $savename)) {
|
||||||
$this->error = '文件上传保存错误!';
|
$this->error = '文件上传保存错误!';
|
||||||
return false;
|
return false;
|
||||||
|
|||||||
@@ -810,7 +810,7 @@ class Request
|
|||||||
if (empty($val['tmp_name'])) {
|
if (empty($val['tmp_name'])) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
$item[$key] = new File($val['tmp_name'], $val);
|
$item[$key] = new File($val['tmp_name'])->setUploadInfo($val);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return $item;
|
return $item;
|
||||||
@@ -818,7 +818,7 @@ class Request
|
|||||||
if($array[$name] instanceof File){
|
if($array[$name] instanceof File){
|
||||||
return $array[$name];
|
return $array[$name];
|
||||||
} elseif (!empty($array[$name]['tmp_name'])){
|
} elseif (!empty($array[$name]['tmp_name'])){
|
||||||
return new File($array[$name]['tmp_name'], $array[$name]);
|
return new File($array[$name]['tmp_name'])->setUploadInfo($array[$name]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user