Hola xtommy2.
Io faccio cosi:
Creati una tabella con i seguenti campi:
id
foto1
foto1p
descrizione
--------------------------------------------
poi:
sono sicuro che un form lo sai fare........!!!!!!!!!!!!!!!!!
--------------------------------------------
Il form lo invii a questa pagina (chiamala come ti pare)
Codice PHP:
<?php
include // qui includi le classi
$foto = str_replace(' ', '', $foto); // nel caso hai spazi tra il nome della foto, esempio: pippo pippotto
if($_FILES['foto']){
$immagine=$_FILES['foto']['tmp_name'];
$I=new IMG($immagine);
$type=$I->getType();
if($type!="jpeg"&&$type!="png") echo "
";
else {$type=($type=="jpeg")?"jpg":$type;
$nome=$_FILES['foto']['name'];
if(file_exists(str_replace(".","_b","img/".$nome))) echo "Attenzione un'immagine con questo nome esiste già!!! Rinomina l'immagine.
";
else {
// immagine grande
$I=new IMG($immagine);
$I->resize_max(300,200); // scegli tu le dimensioni della immagine in questo caso 300 x 200
$foto1=str_replace(".","_m.",$nome);
$I->save("img/$foto1");
$I=new IMG($immagine);
$I->centro_proporzionato(150,130);
//Immagine piccola proporzionata, se vuoi escludila e fai la piccola come sopra scegliendo le dimensioni
$foto1p=str_replace(".","_p.",$nome);
$I->save("img/$foto1p");
echo "Immagine 1 creata.
";
echo $nome;
}
}
}
if ($dir = @opendir("img")) // nome cartella a tua scelta in questo caso IMG
{
while (($file = readdir($dir)) !== false)
{
if($file != "." && $file != ".." && !is_dir("img/$file"))
{
$filename = "img/".$file;
if(substr($filename,-6,-3)=="_p.")
{
}
}
}
}
closedir($dir);
// qui la connessione data base
// poi la query INSERT
?>
Queste sono le classi da includere nella pagina che riceve i dati dal form.
Codice PHP:
<?php
/* -----> dichiarazione funzione "SAVE"
salva l'immagine con il nome passato
*/
function save($nome,$qualita="60"){
if($this->_x==0||$this->_y==0) return FALSE;
else {
$func="image".$this->_type;
$ok=call_user_func($func,$this->_img,$nome);
if($ok!=FALSE) return FALSE;
else {
return TRUE;
}
}
}
/*-----> dichiarazione funzione "IMG CENTRALE"
prende l'area centrale dell'immagine di dimensioni definite
e la ridimensiona alle nuove dimensioni che vengono passate
GD2 nuove .... :o)
*/
function centro_proporzionato($width="",$height=""){
if($this->_x==0||$this->_y==0) return FALSE;
else {
$scale=min($this->_x/$width,$this->_y/$height);
$por_w=$width*$scale;
$por_h=$height*$scale;
$x=($this->_x-$por_w)/2;
$y=($this->_y-$por_h)/2;
$newimg=imagecreatetruecolor($width,$height);
$ok=imagecopyresampled($newimg,$this->_img,0,0,$x,$y,$width,$height,$por_w,$por_h); //imagecopyresampled GD2
$this->_x=$width;
$this->_y=$height;
if($ok==FALSE) return FALSE;
else {
$this->_img=$newimg;
return TRUE;
}
}
}
/* -----> dichiarazione funzione "SAVE"
salva l'immagine con il nome passato
*/
function save($nome,$qualita="60"){
if($this->_x==0||$this->_y==0) return FALSE;
else {
$func="image".$this->_type;
$ok=call_user_func($func,$this->_img,$nome);
if($ok!=FALSE) return FALSE;
else {
return TRUE;
}
}
}
?>
Dovrebbe funzionare!
Spero di non aver dimenticato nulla.!
Facci sapere!!!!!