Redimensionarea unei imagini cu php
Moderatori: Zamolxe, Moderatori
- vectorialpx
- Senior Member
- Mesaje: 4832
- Membru din: Mar Mar 01, 2005 9:48 am
- Localitate: Bucuresti
- Contact:
- vectorialpx
- Senior Member
- Mesaje: 4832
- Membru din: Mar Mar 01, 2005 9:48 am
- Localitate: Bucuresti
- Contact:
Nu reusesc nicicum sa redimensionez imaginea si sa o afisez redimensionata...
Imaginea este culeasa dintr-un form si folosesc metoda post.
[php]<form enctype="multipart/form-data" action="<?php $_SERVER['PHP_SELF'] ?>" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="100000" class="input-upload" />
<input type="file" name="poza_stire" />
<input type="submit" value="Trimite" name="submit" />
</form>[/php]
Rog sa ma scoata cineva din ceata...care sunt pasii care trebuie urmati ca nu reusesc nici cum...as vrea ca dupa ce fac upload la imagine sa pastrez widthn-ul si height-ul imaginii in 2 variabile iar printr-un ciclu while sa tot scad aceste valori proportional pana ajung la anumite dimensiuni. Sunt tot felul de functii...m-am documentat...dar nu iese cu absolut nimic...help!
Multumesc
Imaginea este culeasa dintr-un form si folosesc metoda post.
[php]<form enctype="multipart/form-data" action="<?php $_SERVER['PHP_SELF'] ?>" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="100000" class="input-upload" />
<input type="file" name="poza_stire" />
<input type="submit" value="Trimite" name="submit" />
</form>[/php]
Rog sa ma scoata cineva din ceata...care sunt pasii care trebuie urmati ca nu reusesc nici cum...as vrea ca dupa ce fac upload la imagine sa pastrez widthn-ul si height-ul imaginii in 2 variabile iar printr-un ciclu while sa tot scad aceste valori proportional pana ajung la anumite dimensiuni. Sunt tot felul de functii...m-am documentat...dar nu iese cu absolut nimic...help!
Multumesc
-
johnutz
- Senior Member
- Mesaje: 956
- Membru din: Mar Iul 20, 2004 9:23 am
- Localitate: Între scaun şi tastatură
Pai..
In scriptul care proceseaza upload-ul pui poza cu move_uploaded_file() intr-un director. Afli dimensiunile si tipul imaginii si le bagi intr-un tabel, imprenuna cu numele fisierului, descriere si ce mai vrei tu.
Thumbail-urile le afisezi cum a explicat SHORTY-X, adica generate dinamic.
Ar mai fi varianta sa generezi thumb. de la inceput, si sa ai 2 directoare: full_size si thumbails.
Adica sa citesti imaginea: imagecreatefromxxx($_FILES['userfile']['tmp_name']), unde xxx=jpeg,gif.etc.
Apoi o redimesionezi si o scrii in fisierul thumbail: imagejpeg($image, $fisier_thumb)
In orice caz indicatiile lui SHORTY-X sunt demne de luat in seama, iclusiv si faza cu inspirarea de la albumul ala.
In scriptul care proceseaza upload-ul pui poza cu move_uploaded_file() intr-un director. Afli dimensiunile si tipul imaginii si le bagi intr-un tabel, imprenuna cu numele fisierului, descriere si ce mai vrei tu.
Thumbail-urile le afisezi cum a explicat SHORTY-X, adica generate dinamic.
Ar mai fi varianta sa generezi thumb. de la inceput, si sa ai 2 directoare: full_size si thumbails.
Adica sa citesti imaginea: imagecreatefromxxx($_FILES['userfile']['tmp_name']), unde xxx=jpeg,gif.etc.
Apoi o redimesionezi si o scrii in fisierul thumbail: imagejpeg($image, $fisier_thumb)
In orice caz indicatiile lui SHORTY-X sunt demne de luat in seama, iclusiv si faza cu inspirarea de la albumul ala.
[php]
$img = $HTTP_POST_VARS['poza_stire'];
if (!$max_width)
$max_width = 64;
if (!max_height)
$max_height = 64;
$size = GetImageSize($img);
$width = $size[0];
$height = $size[1];
$x = $max_width / $width;
$y = $max_height / $height;
if (($width <= $max_width) && ($height <= $max_height))
{
$tn_width = $width;
$tn_height = $height;
}
else if (($x * $height) < $max_height)
{
$tn_height = ceil($x * $height);
$tn_width = $max_width;
}
else
{
$tn_width = ceil($y * $width);
$tn_height = $max_height;
}
$src = ImageCreateFromJpeg($img);
$dst = ImageCreate($tn_width , $tn_height);
ImageCopyResized($dst , $src , 0 , 0 ,0 ,0 , $tn_width , $tn_height , $width , $height);
header('Content-type: image/jpeg');
ImageDestroy($src);
ImageDestroy($dst);
[/php]
Redimensionez imaginea pe care o preiau din form si primesc urmatorile erori:
Warning: Division by zero in c:\program files\easyphp1-7\www\filme\objects\addstire.php on line 45
Warning: Division by zero in c:\program files\easyphp1-7\www\filme\objects\addstire.php on line 46
Fatal error: Call to undefined function: imagecreatefromjpeg() in c:\program files\easyphp1-7\www\filme\objects\addstire.php on line 62
Care-i buba?[/php]
$img = $HTTP_POST_VARS['poza_stire'];
if (!$max_width)
$max_width = 64;
if (!max_height)
$max_height = 64;
$size = GetImageSize($img);
$width = $size[0];
$height = $size[1];
$x = $max_width / $width;
$y = $max_height / $height;
if (($width <= $max_width) && ($height <= $max_height))
{
$tn_width = $width;
$tn_height = $height;
}
else if (($x * $height) < $max_height)
{
$tn_height = ceil($x * $height);
$tn_width = $max_width;
}
else
{
$tn_width = ceil($y * $width);
$tn_height = $max_height;
}
$src = ImageCreateFromJpeg($img);
$dst = ImageCreate($tn_width , $tn_height);
ImageCopyResized($dst , $src , 0 , 0 ,0 ,0 , $tn_width , $tn_height , $width , $height);
header('Content-type: image/jpeg');
ImageDestroy($src);
ImageDestroy($dst);
[/php]
Redimensionez imaginea pe care o preiau din form si primesc urmatorile erori:
Warning: Division by zero in c:\program files\easyphp1-7\www\filme\objects\addstire.php on line 45
Warning: Division by zero in c:\program files\easyphp1-7\www\filme\objects\addstire.php on line 46
Fatal error: Call to undefined function: imagecreatefromjpeg() in c:\program files\easyphp1-7\www\filme\objects\addstire.php on line 62
Care-i buba?[/php]
in fine...nu-mi dau seama care e buba si de ce nu functioneaza...am incercat codul lui shorty...si primesc eroarea: Warning: imagecopyresampled(): supplied argument is not a valid Image resource in c:\program files\easyphp1-7\www\filme\objects\addstire.php on line 71
ÿØÿàJFIFÿ
Care este problema? si apropo...cum pot sa mut aceasta imagine in ce folder vreau eu...sub ce denumire vreau eu?
ÿØÿàJFIFÿ
Care este problema? si apropo...cum pot sa mut aceasta imagine in ce folder vreau eu...sub ce denumire vreau eu?
Cine este conectat
Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 14 vizitatori
