Ciao a tutti, ho questa funzione che provvede a fare l'upload:
[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;
}
[/php]Ho poi trovato una funzione che riceve in ingresso il path del file da ridimensionare,_l'altezza e la larghezza massimi, ridimensiona in automatico affinchè non vengano superati i limiti massimi senza stretchare l'immagine stessa e infine salva il file ridimensionato nella posizione desiderata.
[php]
include("classe_resize.php");
$resize = new resize;
$resize->urlimage = "folder/immagine.jpg";
$resize->fisso = 0;
$resize->maxX = 300;
$resize->maxY = 150;
$resize->latofisso = "XY";
$resize->folder = "public/img/";
$resize->newName = "nuovonome.jpg";
$resize->go();
[/php]Il problema è che non ho mai fatto upload di file, quindi non riesco a capire esattamente qual è il punto in cui il file viene mosso dalla directory temporanea alla directory finale. Se riuscissi a ridimensionare il file direttamente durante questo passaggio sarebbe perfetto...ma non ci riesco.:bho:
Mi dareste una mano?
PS: a un certo punto c'è la funzione filesave. Questa ha solo il compito di memorizzare in una tabella del database il nome del file, l'estensione ed un random che viene poi accodato alla fine dell'id del file durante le varie chiamate successive).