Size: a a a

2021 April 14

A

Ambriel in Laravel Pro
я вот нашел такую йункцию она но 50% точно вес уменьшает только что попробовал

function compress_image($tempPath, $originalPath, $imageQuality){
 
   // Get image info
   $imgInfo = getimagesize($tempPath);
   $mime = $imgInfo['mime'];
   
   // Create a new image from file
   switch($mime){
       case 'image/jpeg':
           $image = imagecreatefromjpeg($tempPath);
           break;
       case 'image/png':
           $image = imagecreatefrompng($tempPath);
           break;
       case 'image/gif':
           $image = imagecreatefromgif($tempPath);
           break;
       default:
           $image = imagecreatefromjpeg($tempPath);
   }
   
   // Save image
   imagejpeg($image, $originalPath, $quality);    
   // Return compressed image
   return $originalPath;
}
источник

A

Arman in Laravel Pro
да ты передай параметром качество и еще меньше будет, только качество все меньше будет.
как выше писали заюзай webp, прям понравился он. Если браузер не тянет то подсовывай всегда jpg, ну и иконки в png/svg у себя пожать можно
источник

P

Phoenix in Laravel Pro
У фото может вообще не быть расширения, а может быть замаскированный .gif под .jpeg

Тут важно понимать наколько доверяешь источнику данных.

А определять тип файла лучше вот так
источник

P

Phoenix in Laravel Pro
Там же настроить можно опции которые принимает каждый из оптимизаторов, либо сделать свой optimization chain
источник

P

Phoenix in Laravel Pro
По сути это все равно будут обертки над тулзами вроде jpegoptim и тп
источник

NO

Nex Otaku in Laravel Pro
Ну, кривой файл не сконвертится, дальше что? Почему это должно меня волновать?
источник

A

Arman in Laravel Pro
бывает юзер грузит кривой файл не со зла, комп норм показывает, а ты ему 500/все плохо/гори в аду
источник

NT

Nazar Tertyshnyi in Laravel Pro
"Мы определили Ваш файл как вирусный. Вы забанены"
источник

P

Phoenix in Laravel Pro
Это уже зависит от требований. Если юзерам давать грузить мусор, потом этот мусор придется кому-то разребать.
источник

P

Phoenix in Laravel Pro
Каждому свое, мое дело лишь показать как стоит проверять.
источник

P

Phoenix in Laravel Pro
потому-что это лишних 3 строчки кода
источник

NO

Nex Otaku in Laravel Pro
Ну ок, если такое происходит постоянно то надо проверку делать. Но 10 к 1 что этого не понадобится в обозримом будущем, а поэтому YAGNI, KISS.
источник

NO

Nex Otaku in Laravel Pro
Не, я за лишний код руки отрываю ) И отучаю мыслить "а что если вдруг", потому что такое мышление рождает самый страшный и запутанный код.
источник

SO

Serhiy On in Laravel Pro
Привет народ.
Есть такой вот псевдо текст

{text} sometext1 {text} sometext2 {text} sometext3

Как соорудить регулярку для вылова отдельно {text} + всё до следующего {text}, и так все эти вхождения?

(\{text\}.*?(?=\{text\}))? такое ловит только первое вхождение
источник

NO

Nex Otaku in Laravel Pro
Это мидловская болезнь, когда обжëгшись на каких-то факапах начинают прорабатывать все возможные сценарии и проектировать с десятикратным запасом надëжности.

По результату, 90% такого кода никогда не используется, а время потрачено зря. Плюс чем больше кода, тем тяжелее с ним потом работать.

Надо просто перерасти этот этап )

Я могу высказаться в духе Елисеева:

В плохой компании неопытные джуны пишут код без проверок, потому что не заботятся о качестве кода.

В хорошей компании опытные мидлы пишут код без проверок, потому что код проверяется тестами.

В самой крутой компании гуру сеньоры пишут код без проверок, потому что он такой простой, что там нечему ломаться.
источник

EG

Egor Gruzdev in Laravel Pro
preg_match_all и поймаешь все
источник

P

Phoenix in Laravel Pro
Ну вот, мой уровень спалили)
источник

P

Phoenix in Laravel Pro
что теперь делать)
источник

HG

Hephzibah Gashy in Laravel Pro
Sweet, thanks
источник

zN

zVlad Nesquik in Laravel Pro
Привет. Первый раз сталкиваюсь с проблемой route.
Дело в том что {{route('admin.post.save')}} выводит ссылку https (как и надо)
А {{route('admin.upload.load')}} - http.
Кеши очищал, в .env прописано с https. А чем может еще быть проблема?
источник