ciao a tutti, ho un form che gestisce degli upload di alcune immagini usando una funzione che si trova su un file esterno e memorizza la lista dei file su una tabella del database (ecco perchč la chiamata alla funzione Filesave) tutto funziona bene, ma il problema č che adesso devo ridimensionare le foto in automatico al termine di ogni upload.
ho trovato una classe che in pratica č perfetta per il mio scopo: riceve in ingresso il nome del file, la max dimensione di altezza e larghezza e regola tutto in automatico in modo che nč una nč l'altra dimensione superino quelle max consentite.
l'ho provata da sola e va bene anche questa.
il problema č che non so proprio come fare a metterle insieme....
metto qui i codici:
funzione x l'upload
Codice PHP:
function uploadImage($filecontrol,$linkback) {
$est=strtolower(substr($_FILES[''.$filecontrol]['name'],-3,3));
if ($est!="") {
if ($est=="jpg" || $est=="gif") {
if (isset($_FILES[''.$filecontrol]) && is_uploaded_file($_FILES[''.$filecontrol]['tmp_name'])) // NUOVA IMMAGINE
{
if (move_uploaded_file($_FILES[''.$filecontrol]['tmp_name'], $_SESSION['PathUpload'].$_FILES[''.$filecontrol]['name'])==FALSE)
{
if($_FILES[''.$filecontrol]['error']==2) {
redirect_rel($linkback);
exit();
} else {
redirect_rel($linkback);
exit();
}
} else {
$random= randomKey("",8);
$valo=Filesave(0,$random,$est,2);
}
if ($valo>0) {
if(!rename($_SESSION['PathUpload'].$_FILES[''.$filecontrol]['name'],$_SESSION['PathUpload'].$valo."_".$random.".".$est ))
$logo=0;
else
$logo=$valo;
}
}
}
if ($logo=="" || $logo<0) $logo=0;
} else {
$logo=0;
}
return $logo;
}
esempio di utilizzo della classe resize:
Codice PHP:
<?php
include("classe_resize.php");
$resize = new resize;
$resize->urlimage = "folder/immagine.jpg";
$resize->fisso = 0;
$resize->maxX = 200;
$resize->maxY = 100;
$resize->latofisso = "X";
$resize->folder = "public/img/";
$resize->newName = "nuovonome.jpg";
$resize->go();
?>
se passo come urlimage la variabile $logo non dovrebbe funzionare bene?
ho provato a mettere la seconda porzione di codice direttamente all'interno della funzione, ma uppa il file e fa come se neanche ci fosse il resize...
se poi mettessi come newName metto sempre la variabile $logo sovrascrive il file originale senza problemi?
grazie a tutti