手记

UploadedFile.php

<?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.

}

0人推荐
随时随地看视频
慕课网APP