Arkadaslar sunucudaki resimlerin boyutunu değiştirmek istiyorum.
Bunun için script varmı. Ama dosyaları oyle gostermeyecek değiştirecek tamamen.
Php ile imagerezise
3
●478
- 12-05-2009, 19:44:14Üyeliği durdurulduimage resize diye forumda aratırsanız çok defa sorulmuş ve cevaplanmis bi soru bu
- 24-05-2009, 12:47:31Aşağıdaki kodlar işini görebilir
klasör isimleri buyuk ve kucuk değişkenlerinde resim genişlik ve yüksekliği en ve boy değişkenlerinde ayarlanıyor..
<? //klasordeki png ve jpeg'leri boyutlandıran bir script // Osman Yüksel 28.03.2005 //Not bu kisi ben degilim :) $buyuk = "buyuk/"; //ana resimlerin bulunduğu klasor $kucuk = "kucuk/"; //kucultulecek resimlerin olacağı klasor if (!file_exists($kucuk)) {//eğer klasor yoksa echo "$kucuk klasoru yok"; exit; } #if if (!file_exists($buyuk)) {//eğer klasor yoksa echo "$buyuk klasoru yok"; exit; } #if if (!is_writeable($kucuk)) { //eğer klasore yazma izni yoksa echo "$kucuk klasorune yazma izniniz bulunmuyor"; exit; } #if //$buyuk icindeki dosyaları al boyutunu değiştirip $kucuk icine kaydet $klasor = @opendir($buyuk); while ($dosya = readdir($klasor)) { //her dosya için // eğer uzantı jpg veya png ise ve bu bir klasor değilse if($dosya == "." || $dosya == ".." || is_dir($buyuk.$dosya) || (!preg_match("/.jpg/",$dosya) AND !preg_match("/.png/",$dosya))) continue; $fp = @fopen($buyuk.$dosya,"r"); //dosyayı aç $ozellik = @GetImageSize($buyuk.$dosya); //resmin özelliklerini al $en1 = $ozellik[0]; $boy1 = $ozellik[1]; if ($en1>$boy1){ if( $en1 > 73) { $en = 73; $boy = floor(($en / $en1) * $boy1); } else { $en = $en1; $boy = $boy1; } }else{ if( $en1 > 90) { $boy = 90; $en = floor(($boy / $boy1) * $en1); } else { $en = $en1; $boy = $boy1; } } $tur = $ozellik[2]; //resmin tipi 2 = jpeg , 3 = png if ($tur=="2") { //eğer jpeg ise echo "$dosya dosyasinin boyutu $en x $boy olarak degistiriliyor ... "; $kaynak = imagecreatefromjpeg($buyuk.$dosya); //jpegden dosyayı al $hedef = imagecreatetruecolor($en,$boy); //true colour olarak yeni bir resim oluştur //kaynağın boyutunu değiştirip $hedefe yaz imagecopyresized($hedef,$kaynak,0,0,0,0,$en,$boy,imagesx($kaynak),imagesy($kaynak)); //hedefi dosyaya yaz imagejpeg($hedef, $kucuk.$dosya); echo "[Tamam]<br>"; } #else elseif ($tur=="3") { //eğer png ise echo "$dosya dosyasinin boyutu $en x $boy olarak degistiriliyor ... "; $kaynak=ImageCreateFrompng($buyuk.$dosya); //png'den dosya al $hedef=ImageCreatetruecolor($en,$boy); //true colour olarak yeni bir resim oluştur //kaynağın boyutunu değiştirip $hedefe yaz ImageCopyResized($hedef,$kaynak,0,0,0,0,$en,$boy,ImageSX($kaynak),ImageSY($kaynak)); //hedefi dosyaya yaz Imagepng($hedef, $kucuk.$dosya); echo "[Tamam]<br>"; } #elseif @fclose($fp); //dosyayı kapat } #while ?>