<?php
namespace Illuminate\Http;
use Illuminate\Support\Traits\Macroable;
use Symfony\Component\HttpFoundation\File\UploadedFile as SymfonyUploadedFile;
// more name space and trait
class UploadedFile extends SymfonyUploadedFile
{
use Macroable;// use trait
/**
* Get the fully qualified path to the file.
*
* @return string
*/
public function path()
{
return $this->getRealPath();
}// get path ,then use the real path
/**
* Get the file's extension.
*
* @return string
*/
public function extension()
{
return $this->guessClientExtension();
}// get extension
/**
* Get a filename for the file that is the MD5 hash of the contents.
*
* @return string
*/
public function hashName()
{
return md5_file($this->path()).'.'.$this->extension();// md5_file
}//Get a filename for the file that is the MD5 hash of the contents.
// get a type of the md5 about file
/**
* Create a new file instance from a base instance.
*
* @param \Symfony\Component\HttpFoundation\File\UploadedFile $file
* @return static
*/
public static function createFromBase(SymfonyUploadedFile $file)
{
return $file instanceof static ? $file : new static(
$file->getPathname(), $file->getClientOriginalName(), $file->getClientMimeType(),
$file->getClientSize(), $file->getError()
);// return $file
// to long
}// Create a new file instance from a base instance.
}
共同学习,写下你的评论
评论加载中...
作者其他优质文章