Devise\Media\MediaPaths::fileVersionInfo PHP Method

fileVersionInfo() public method

Gets the versioned path to this file
public fileVersionInfo ( $filePath ) : stdClass
$filePath
return stdClass
    public function fileVersionInfo($filePath)
    {
        $tempfile = false;
        $path = $this->basepath . $filePath;
        // we don't want to try and download an image from our
        // own website because that will cause a session deadlock
        // in php and crash the server
        if (strpos($filePath, $this->baseurl) === 0) {
            $path = $this->basepath . str_replace($this->baseurl, '/', $filePath);
        } else {
            if ($this->isUrlPath($filePath)) {
                $path = $this->downloadFromUrl($filePath);
                $tempfile = $path;
            }
        }
        //
        // if we don't have a file for our path then complain
        //
        if (!is_file($path)) {
            throw new InvalidFileException("This is not a valid file: " . $path);
        }
        $obj = new stdClass();
        $obj->basepath = $this->basepath;
        $obj->mediapath = $this->basepath . '/media';
        $obj->mediaversionpath = $this->basepath . '/media-versions';
        $obj->md5 = md5_file($path);
        $obj->ext = pathinfo($path, PATHINFO_EXTENSION);
        $obj->partition = substr($obj->md5, 0, 3) . '/' . substr($obj->md5, 3, 3) . '/' . $obj->md5;
        $obj->tempfile = $tempfile;
        $obj->filepath = $path;
        $obj->filename = pathinfo($path, PATHINFO_FILENAME);
        $obj->filedir = dirname($path);
        $obj->versionpath = "{$this->basepath}/media-versions/{$obj->partition}/{$obj->filename}.{$obj->ext}";
        $obj->versionname = pathinfo($obj->versionpath, PATHINFO_FILENAME);
        $obj->versiondir = "{$this->basepath}/media-versions/{$obj->partition}";
        $obj->thumbnail = "{$this->basepath}/media-versions/{$obj->partition}/thumbnail.{$obj->ext}";
        $obj->thumbnail_url = "/media-versions/{$obj->partition}/thumbnail.{$obj->ext}";
        return $obj;
    }