kicaj
21.07.2003, 18:28:12
Chcialbym zrobic taki skrypt, w ktorym uploaduje gif'a lub jpg'a na server i
jesli rozmiary danego obrazka nie przekraczaja np 300x300px to kopiuje
orginal, ale jesli obrazek ma wieksze wymiary to zmniejsza go do 300x300px!
Dziekuję!
DeyV
21.07.2003, 18:49:41
Wystarczy dodać uplad plików na serwer i odpowiednie warunki przy pomocy [manual:fd98e7e308]getimagesize() [/manual:fd98e7e308]
[php:1:fd98e7e308]<?php
/**
*@autor DeyV
*@data 03 2003
*@parm $zrodl0 string (adres pliku żródłowego)
*@parm $przeznaczenie string (adres pliku wynikowego)
*@parm $new_x int (szerokość pliku)
*@parm $new_y int (wysokość pliku)
*/
function image_resize($zrodlo, $przeznaczenie, $new_x, $new_y){
$_error=array();
if (!$zrodlo) $_error[] = "Brak pliku źródłowego";
if (!$przeznaczenie) $_error[] = "Brak adresu dla wyniku";
if (!$new_x) $_error[] = "Podaj wymiar X";
if (!$new_y) $_error[] = "Podaj wymiar Y";
if (count($_error) ) return $_error;
$_arr = @getimagesize($zrodlo);
if (!$_arr ){
$_error[] = "podany plik nie jest grafiką";
return $_error;
}
$_typ_pliku = $_arr[2];
switch ($_typ_pliku){
#case 1 :#= IMAGETYPE_GIF
# $_src_img=imagecreatefromGif($zrodlo);
# break;
case 2: #= IMAGETYPE_JPG
$_src_img=imagecreatefromJpeg($zrodlo);
break;
case 3: #= IMAGETYPE_PNG
$_src_img=imagecreatefromPNG($zrodlo);
break;
default:
$_error[] = "Nieprawidłowy format pliku";
return $_error;
}
$_dst_img=imagecreatetruecolor($new_x,$new_y);
ImageCopyResampled ($_dst_img,$_src_img,0,0,0,0,$new_x,$new_y,ImageSX($_src_img),ImageSY($_src_img)
;
ImageJpeg($_dst_img,$przeznaczenie);
}
var_dump (image_resize('1.png', '2.jpg',30,50) );
?>
<img src="2.jpg" border="0" alt="">
[/php:1:fd98e7e308]