public function saveUploadedFile(array $routes, $rename = false)
    {
        $year = date('Y', time());
        $month = date('m', time());
        $structure = "$routes[baseUrl]/$routes[uploadPath]/$year/$month";
        $basePath = Yii::getAlias($routes['basePath']);
        $absolutePath = "$basePath/$structure";

        // create actual directory structure "yyyy/mm"
        if (!file_exists($absolutePath)) {
            mkdir($absolutePath, 0777, true);
        }

        // get file instance
        $this->file = UploadedFile::getInstance($this, 'file');
        //if a file with the same name already exist append a number
        $counter = 0;
        do{
            if($counter==0)
                $filename = Inflector::slug($this->file->baseName).'.'. $this->file->extension;
            else{
                //if we don't want to rename we finish the call here
                if($rename == false)
                    return false;
                $filename = Inflector::slug($this->file->baseName). $counter.'.'. $this->file->extension;
            }
            $url = "$structure/$filename";
            $counter++;
        } while(self::findByUrl($url)); // checks for existing url in db

        // save original uploaded file
        $this->file->saveAs("$absolutePath/$filename");
        $this->filename = $filename;
        $this->type = $this->file->type;
        $this->size = $this->file->size;
        $this->url = $url;

        return $this->save();
    }
public function saveUploadedFile(array $routes, $rename = false)
    {
        $year = date('Y', time());
        $month = date('m', time());
        $structure = "$routes[baseUrl]/$routes[uploadPath]/$year/$month";
        $basePath = Yii::getAlias($routes['basePath']);
        $absolutePath = "$basePath/$structure";

        // create actual directory structure "yyyy/mm"
        if (!file_exists($absolutePath)) {
            mkdir($absolutePath, 0777, true);
        }

        // get file instance
        $this->file = UploadedFile::getInstance($this, 'file');
        //if a file with the same name already exist append a number
        $counter = 0;
        do{
            if($counter==0)
                $filename = Inflector::slug($this->file->baseName).'.'. $this->file->extension;
            else{
                //if we don't want to rename we finish the call here
                if($rename == false)
                    return false;
                $filename = Inflector::slug($this->file->baseName). $counter.'.'. $this->file->extension;
            }
            $url = "$structure/$filename";
            $counter++;
        } while(self::findByUrl($url)); // checks for existing url in db

        // save original uploaded file
        $this->file->saveAs("$absolutePath/$filename");
        $this->filename = $filename;
        $this->type = $this->file->type;
        $this->size = $this->file->size;
        $this->url = $url;

        return $this->save();
    }
public function saveUploadedFile ( array $ routes , $ rename = false ) { $ year = date ( 'Y' , time ( ) ) ; $ month = date ( 'm' , time ( ) ) ; $ structure = "$routes[baseUrl]/$routes[uploadPath]/$year/$month" ; $ basePath = Yii :: getAlias ( $ routes [ 'basePath' ] ) ; $ absolutePath = "$basePath/$structure" ; // create actual directory structure "yyyy/mm" if ( ! file_exists ( $ absolutePath ) ) { mkdir ( $ absolutePath , 0777 , true ) ; } // get file instance $ this -> file = UploadedFile :: getInstance ( $ this , 'file' ) ; //if a file with the same name already exist append a number $ counter = 0 ; do { if ( $ counter == 0 ) $ filename = Inflector :: slug ( $ this -> file -> baseName ) . '.' . $ this -> file -> extension ; else { //if we don't want to rename we finish the call here if ( $ rename == false ) return false ; $ filename = Inflector :: slug ( $ this -> file -> baseName ) . $ counter . '.' . $ this -> file -> extension ; } $ url = "$structure/$filename" ; $ counter ++ ; } while ( self :: findByUrl ( $ url ) ) ; // checks for existing url in db // save original uploaded file $ this -> file -> saveAs ( "$absolutePath/$filename" ) ; $ this -> filename = $ filename ; $ this -> type = $ this -> file -> type ; $ this -> size = $ this -> file -> size ; $ this -> url = $ url ; return $ this -> save ( ) ; }
Save just uploaded file
@param array $routes routes from module settings
@param bool $rename
@return bool
Save just uploaded file