tmpPath(); $mimetype = mime_content_type($path); system('imagemin '.escapeshellarg($path).' --plugin=pngquant > '.escapeshellarg($output)); system("mv ".escapeshellarg($output)." ".escapeshellarg($path)); return [ $path => [$path], ]; } public function originalSize(): array { return getimagesize($this->media->root()); } public function shouldGenerateVersions(): bool { return true; } public function resize(string $source, string $destination, Collection $size): void { $extension = pathinfo($source, PATHINFO_EXTENSION); $temp = microtime().'.'.$extension; $r = app(ImageManager::class)->make($source); app(ImageManager::class) ->canvas($size->get('width'), $size->get('height'))->insert($r, 'center') ->save(Storage::path($temp)); list($destWidth, $destHeight) = getimagesize(Storage::path($temp)); $versionFilename = $destination.'/'.$this->versionFilename($source, $destWidth, $destHeight); $this->moveTo($temp, $versionFilename); } }