改进File类的move方法的返回对象 改为返回 File对象实例

This commit is contained in:
thinkphp
2016-07-25 14:20:48 +08:00
parent 8c4310f637
commit 3e437d96fa

View File

@@ -76,11 +76,22 @@ class File extends SplFileObject
* 获取上传文件的文件名 * 获取上传文件的文件名
* @return string * @return string
*/ */
public function saveName() public function getSaveName()
{ {
return $this->saveName; return $this->saveName;
} }
/**
* 设置上传文件的保存文件名
* @param string $saveName
* @return $this
*/
public function setSaveName($saveName)
{
$this->saveName = $saveName;
return $this;
}
/** /**
* 检查目录是否可写 * 检查目录是否可写
* @param string $path 目录 * @param string $path 目录
@@ -194,7 +205,6 @@ class File extends SplFileObject
if (!in_array($extension, $ext)) { if (!in_array($extension, $ext)) {
return false; return false;
} }
return true; return true;
} }
@@ -273,8 +283,8 @@ class File extends SplFileObject
} }
$path = rtrim($path, DS) . DS; $path = rtrim($path, DS) . DS;
// 文件保存命名规则 // 文件保存命名规则
$this->saveName = $this->getSaveName($savename); $saveName = $this->buildSaveName($savename);
$filename = $path . $this->saveName; $filename = $path . $saveName;
// 检测目录 // 检测目录
if (false === $this->checkPath(dirname($filename))) { if (false === $this->checkPath(dirname($filename))) {
@@ -294,8 +304,10 @@ class File extends SplFileObject
$this->error = '文件上传保存错误!'; $this->error = '文件上传保存错误!';
return false; return false;
} }
// 返回 File对象实例
return new SplFileInfo($filename); $file = new self($filename);
$file->setSaveName($saveName);
return $file;
} }
/** /**
@@ -303,7 +315,7 @@ class File extends SplFileObject
* @param string|bool $savename 保存的文件名 默认自动生成 * @param string|bool $savename 保存的文件名 默认自动生成
* @return string * @return string
*/ */
protected function getSaveName($savename) protected function buildSaveName($savename)
{ {
if (true === $savename) { if (true === $savename) {
// 自动生成文件名 // 自动生成文件名