Newsgroup: it.comp.www.php
Titolo: ridimensionamento immagini

Ho creato un file per uloadare le immagini in un database, fin qui tutto
bene, adesso vorrei inserire nel database anche i thumbnail,
questo è il codice
$dbcnx = mysql_connect('localhost','user','pass');
mysql_select_db('leveldes_level');
//Recupero il percorso temporaneo del file
$gal = $_POST['galleria'];
$path = $_FILES['userfile']['tmp_name'];
$file = $_FILES['userfile']['name'];
$filetyp = substr($file, -3);
if ($filetyp == 'gif' OR $filetyp == 'jpg') {
$handle = fopen($path,'r');
$file_content = fread($handle,filesize($path));
$encoded = chunk_split(base64_encode($file_content));
$sql = "INSERT INTO images2 SET sixfourdata='$encoded', galleria='$gal'";
mysql_query($sql);
fclose($handle);
echo("File caricato<br>");
echo("<a href=\"view.php?gal=$gal\">Visualizza nella galleria $gal</a>");
}else{
echo("tipo di file errato");
}
mysql_close($dbcnx);
ho provato con imagecopyresized ma non prende come argomenti variabili dati
ma solo posizioni
qualcuno ha un'idea
Help
alb...@leveldesign.it
 
www.leveldesign.it

 ha scritto nel messaggio 
news:cj17se$hto$2...@lacerta.tiscalinet.it...

devi ridimensionare l'immagine ($path), non la stringa $encoded

Grazie, un problema:
Io vorrei inserire nel database l'immagine originale e il thumbnail
devo usare imagecopyresized con $path come file di origine, ma cosa devo
usare come file di destinazione? non devo creare un file devo inserire
l'immagine nel db
"L'incompetente" <l_incom...@strikes.again> ha scritto nel messaggio 
news:cj191c$k1d$1...@lacerta.tiscalinet.it...


 ha scritto nel messaggio
news:cj19k5$l3n$1...@lacerta.tiscalinet.it...

imagecopyresized() ridimensiona (creando) un'immagine da una esistente,
l'immagine output non esiste fisicamente nell'hard disk.
Per poter avere il binario dell'immagine bisogna leggere all'interno del
file (
p.es
.) image.php dove sono contenute le istruzioni per creare
l'immagine e stabilirne il contenuto all'interno di una variabile per poi
inserirla nel database.
non è necessario codificare l'immagine con base64;
è più opportuno inserire il codice binario all'interno di un campo blob di
una tabella mysql
un semplice script per creare un immagine rimpicciolita:
$image_dir="/var/www/html/images/"; // la directory dove sono contenute le
immagini
$size=getimagesize($image_dir.$img_grande);
$type=$size[2]; // tipo di immagine
header ("Content-type: image/png");  // l'immagine output sara' una png
if($type==1)
 {
 $im=imagecreatefromgif($image_dir.$img_grande);
 }
else if($type==2)
 {
 $im=imagecreatefromjpeg($image_dir.$img_grande);
 }
else if($type==3)
 {
 $im=imagecreatefrompng($image_dir.$img_grande);
 }
else
{
 die("tipo di immagine non supportato");
}
$im2=ImageCreate (60, 40);
imagecopyresized($im2, $im, 0,0,0,0,60,40,$size[0],$size[1]);
imagepng($im2);
ti crea un'immagine di 60x40 pixel

Ho trovato un tutorial che usava la codifica quindi ho usato quello!
Quale potrebbe essere il motivo della codifica?
"L'incompetente" <l_incom...@strikes.again> ha scritto nel messaggio 
news:cj1bgn$nha$1...@lacerta.tiscalinet.it...



in quel modo è tipico di quando si inviano allegati via email (codificato ma
non illeggibile), di per se il binario di un'immagine è gia codificato (ma
non illeggibile).
Se vuoi codificare per rendere illeggibili le immagini puoi usare il comando
ENCRYPT() di mysql utilizzando una chiave privata come secondo argomento
della funzione, dove nel primo argomento c'e' la stringa binaria
dell'immagine.
Chi non conosce la chiave non puo' decodificare l'immagine.