$filename, 'dirname' => $dirname, 'extension' => $extension, ] = pathinfo($originalPath); // load images extensions from config $imageConfig = config('Images'); $thumbnailExtension = $imageConfig->thumbnailExtension; $mediumExtension = $imageConfig->mediumExtension; $largeExtension = $imageConfig->largeExtension; $feedExtension = $imageConfig->feedExtension; $id3Extension = $imageConfig->id3Extension; $thumbnail = $dirname . '/' . $filename . $thumbnailExtension . '.' . $extension; $medium = $dirname . '/' . $filename . $mediumExtension . '.' . $extension; $large = $dirname . '/' . $filename . $largeExtension . '.' . $extension; $feed = $dirname . '/' . $filename . $feedExtension . '.' . $extension; $id3 = $dirname . '/' . $filename . $id3Extension . '.' . $extension; parent::__construct([ 'original_path' => $originalPath, 'original_url' => media_url($originalUri), 'thumbnail_path' => $thumbnail, 'thumbnail_url' => base_url($thumbnail), 'medium_path' => $medium, 'medium_url' => base_url($medium), 'large_path' => $large, 'large_url' => base_url($large), 'feed_path' => $feed, 'feed_url' => base_url($feed), 'id3_path' => $id3, ]); } public function saveSizes() { // load images sizes from config $imageConfig = config('Images'); $thumbnailSize = $imageConfig->thumbnailSize; $mediumSize = $imageConfig->mediumSize; $largeSize = $imageConfig->largeSize; $feedSize = $imageConfig->feedSize; $id3Size = $imageConfig->id3Size; $imageService = \Config\Services::image(); $imageService ->withFile($this->attributes['original_path']) ->resize($thumbnailSize, $thumbnailSize) ->save($this->attributes['thumbnail_path']); $imageService ->withFile($this->attributes['original_path']) ->resize($mediumSize, $mediumSize) ->save($this->attributes['medium_path']); $imageService ->withFile($this->attributes['original_path']) ->resize($largeSize, $largeSize) ->save($this->attributes['large_path']); $imageService ->withFile($this->attributes['original_path']) ->resize($feedSize, $feedSize) ->save($this->attributes['feed_path']); $imageService ->withFile($this->attributes['original_path']) ->resize($id3Size, $id3Size) ->save($this->attributes['id3_path']); } }