Merhaba Beyler,
Bir koda ihtiyacım var ancak bulamadım, İstediğim şey tam olarak şu :
Örneğin domain.com/images/ dizininde binlerce resim var. Ben toplu olarak bu dizindeki resimlerin hepsini yeniden boyutlandırmak ve kalitesini optimize etmek istiyorum.
Yapılacak işlem En ve boy oranını koruyarak %50 oranında küçültecek ve kalitesini %20 oranında düşürüp aynı isimde domain.com/images/min/ dizinine kayıt edecek.
Böyle bir script yada kod varmı bildiğiniz ?
PHP ile Bir dizindeki resimleri yeniden boyutlandırma
6
●169
- 24-01-2019, 12:45:19
- 24-01-2019, 12:56:22php den ziyade Gulp ile çok daha hızlı ve çok daha güzel bir sonuç elde edebiliyorsunuz.
Ek olarak php ile yapmak istersen;
http://image.intervention.io/ - 24-01-2019, 12:57:41Bu konuda beni bilgilendirmisiniz, Pek bilgim yok "Gulp"'danpicpoket adlı üyeden alıntı: mesajı görüntüle
- 24-01-2019, 13:45:39Yazamadan önce şunu sorayım, bunu bir script içeriside modül olarak mı kullanmak istiyorsunuz ?mersinstyle adlı üyeden alıntı: mesajı görüntüle
- 24-01-2019, 14:24:51@picpoket; Bence direkt standalone bir script olarak çalıştıracak, istediği işi yapacak ve bitecek.
Gulp'da kullanabilirsiniz, Grunt'da. Ayrıca eğer mutlaka PHP olması gerekiyorsa ve özellikle image sayısı çok Imagick (ImageMagick) tavsiye ederim. GD'den 10 kat kadar daha hızlı çalışır.
Arama kelimeniz "image batch processing php"
Kolay gelsin. - 24-01-2019, 14:31:23
<?php ini_set('max_execution_time', 0); $klasor = '/home/un4saken/public_html/images/'; $yeniklasor = '/home/un4saken/public_html/images/yeniklasor/'; $genislik = 500; $yukseklik = 500; $kalite = 80; if($dir = opendir($klasor)){ while(($file = readdir($dir))!== false){ $imagePath = $klasor.$file; $destPath = $yeniklasor.$file; $checkValidImage = @getimagesize($imagePath); if(file_exists($imagePath) && $checkValidImage) { if(resizeImage($imagePath,$destPath,$genislik,$yukseklik,$kalite)) { echo $file.' basarili!<br />'; /* Now Image is resized, may be save information in database? */ }else{ echo $file.' biseyler yanlis gitti!<br />'; } } } closedir($dir); } function resizeImage($SrcImage,$DestImage, $MaxWidth,$MaxHeight,$kalite) { list($iWidth,$iHeight,$type) = getimagesize($SrcImage); $ImageScale = min($MaxWidth/$iWidth, $MaxHeight/$iHeight); $NewWidth = ceil($ImageScale*$iWidth); $NewHeight = ceil($ImageScale*$iHeight); $NewCanves = imagecreatetruecolor($NewWidth, $NewHeight); switch(strtolower(image_type_to_mime_type($type))) { case 'image/jpeg': $NewImage = imagecreatefromjpeg($SrcImage); break; case 'image/png': $NewImage = imagecreatefrompng($SrcImage); break; case 'image/gif': $NewImage = imagecreatefromgif($SrcImage); break; default: return false; } if(imagecopyresampled($NewCanves, $NewImage,0, 0, 0, 0, $NewWidth, $NewHeight, $iWidth, $iHeight)) { if(imagejpeg($NewCanves,$DestImage,$kalite)) { imagedestroy($NewCanves); return true; } } }