point-backend/app/Services/ImageService.php
2024-04-03 12:10:28 +03:00

51 lines
1.6 KiB
PHP

<?php
namespace App\Services;
use Exception;
use Illuminate\Http\UploadedFile;
use Illuminate\Support\Facades\Config;
use Illuminate\Support\Str;
class ImageService
{
public static function upload_image(UploadedFile $new_image, $folder = '')
{
$upload_location = Config::get('appSetting.upload_location', 'images');
$image_path_without_public = $upload_location . $folder . '/';
$image_path = public_path() . $upload_location . $folder . '/';
$image_name = $folder . '_' . Str::uuid() . '.' . $new_image->getClientOriginalExtension();
$new_image->move($image_path, $image_name);
return $image_path_without_public . $image_name;
}
public static function update_image(UploadedFile $new_image, $old_image_name, $folder = '')
{
$upload_location = Config::get('appSetting.upload_location', 'images');
$new_image_path_without_public = $upload_location . $folder . '/';
$new_image_path = public_path() . $upload_location . $folder . '/';
$new_image_name = $folder . '_' . Str::uuid() . '.' . $new_image->getClientOriginalExtension();
$new_image->move($new_image_path, $new_image_name);
try {
unlink(public_path() . $old_image_name);
return $new_image_path_without_public . $new_image_name;
} catch (Exception $e) {
return $new_image_path_without_public . $new_image_name;
}
}
public static function delete_image($image)
{
try {
unlink(public_path() . $image);
return true;
} catch (Exception $e) {
return $e;
}
}
}