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 start(): void { // } public function end(): void { // } public function resize(Collection $size, bool $update, callable $callback): void { $extension = $this->media->extension(); $temp = microtime().'.'.$extension; $r = app(ImageManager::class)->make($this->media->root()); 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 = $this->media->versionsDirPath().'/'.$this->versionFilename($destWidth, $destHeight); $this->moveTo($temp, $versionFilename); call_user_func($callback, $this->media, Storage::path($versionFilename)); } }