| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 | <?php/** * Created by PhpStorm. * Author: NODELOG * DateTime: 2017/7/12 15:33 * Description: */namespace common\modules\attachment\components;use common\helpers\StringHelper;use yii\helpers\ArrayHelper;/** * Class UploadedFile * @package common\modules\attachment\components * @property string $hashName */class UploadedFile extends \yii\web\UploadedFile{    public function getHashName($path = null)    {        if ($path) {            $path = rtrim($path, '/').'/';        }        $hash = \Yii::$app->security->generateRandomString(40);        return $path.$hash.'.'.$this->getExtension();    }    public function store($path, $options = [])    {        return $this->storeAs($path, $this->getHashName(), $this->parseOptions($options));    }    public function storeAs($path, $name, $options = [])    {        $options = $this->parseOptions($options);        $disk = ArrayHelper::remove($options, 'disk');        return \Yii::$app->storage->disk($disk)->putFileAs(            $path, $this, $name, $options        );    }    protected function parseOptions($options)    {        if (is_string($options)) {            $options = ['disk' => $options];        }        return $options;    }}
 |