fileresit_id)->first(); $user_id = User::select('user_id')->where('id', $request->lelongbid_id)->first()->norujukan; $photo_type_name = $request->photo_type === '1' ? 'overall_photo' : 'by_marhun_photo'; $directory = "/{$user_id}/{$photo_type_name}/"; $imageExtension = $deleteFile->file_type; $resitImageFileName = "overall.{$imageExtension}"; $lelongbidmarhun_id = $deleteFile->lelongbidmarhun_id; if (! empty($request->lelongbidmarhun_id)) { $resitImageFileName = "$lelongbidmarhun_id.$imageExtension"; } Storage::disk('marhun')->delete("{$directory}${resitImageFileName}"); $deleteFile->delete(); } public function show($user_id, $resit) { $DS = DIRECTORY_SEPARATOR; $lelong_id = $resit->lelong_id; $fileresit_id = $resit->id; // dd($fileresit_id);; // $photo_type_name = $resit->photo_type === 1 ? '1' : '2'; $directory = $user_id.$DS.$lelong_id.$DS; // dd($directory); $imageExtension = $resit->file_type; // dd($imageExtension); // $resitImageFileName = "{$fileresit_id}.{$imageExtension}"; if (! empty($fileresit_id)) { $resitImageFileName = "$fileresit_id.$imageExtension"; // dd($resitImageFileName); } $filePath = Storage::disk('resit')->path($directory.$resitImageFileName); // $filePath = 'C:\laragon\www\lelong2\storage\app\resit\20\2\1.webp'; // dd($filePath); // header('Content-Type: ' . mime_content_type($filePath)); header('Content-Disposition: inline; filename="'.basename($filePath).'"'); readfile($filePath); // dd($filePath); } public function get($user_id, $resit) { $lelong_id = $resit->lelong_id; $fileresit_id = $resit->id; $directory = "/{$user_id}/{$lelong_id}/"; $imageExtension = $resit->file_type; $resitImageFileName = "{$fileresit_id}.{$imageExtension}"; return Storage::disk('resit')->get("{$directory}${resitImageFileName}"); } private function getWebpCompilerByOS() { $DS = DIRECTORY_SEPARATOR; $cwebp_compilers = [ 'Windows' => 'binaries'.$DS.'libwebp-1.2.4-windows-x64'.$DS.'bin'.$DS.'cwebp', 'Linux' => 'binaries'.$DS.'libwebp-1.2.4-linux-x86-64'.$DS.'bin'.$DS.'cwebp', 'Darwin' => [ 'X86-64' => 'binaries'.$DS.'libwebp-1.2.4-mac-X86-64'.$DS.'bin'.$DS.'cwebp', 'arm64' => 'binaries'.$DS.'libwebp-1.2.4-mac-arm64'.$DS.'bin'.$DS.'cwebp', ], ]; $server_operating_system = explode(' ', trim(php_uname()))[0]; $server_processor_architecture = trim(php_uname('m')); if ($server_operating_system === 'Darwin') { return resource_path($cwebp_compilers['Darwin'][$server_processor_architecture]); } if (in_array($server_operating_system, array_keys($cwebp_compilers))) { return resource_path($cwebp_compilers[$server_operating_system]); } } public function optimizeImageToWebP($originalFilePath, $directory, $resitImageFileName) { $convertedFilePath = config('filesystems.disks.resit.root')."{$directory}{$resitImageFileName}.webp"; $webpCompiler = $this->getWebpCompilerByOS(); exec($webpCompiler.' -preset photo '.'-q 10'.' -mt '.$originalFilePath.' -o '.$convertedFilePath); } }