ciao a tutti, volevo fare in modo che le immagini che carico sul mio sito abbiano il watermark e per farlo ho usato questa funzione che ho trovato nel web:

codice:
function watermark($immagine) {

//indichiamo l'immagine che dovrà essere firmata e
//il watermark che utilizzeremo per la firma
$img_sorgente = $immagine;
$sorgente_wtmk = 'watermark.png';

//ricaviamo il type dell'immagine sorgente e del watermark
$img_tipo = @substr($img_sorgente,@strlen($img_sorgente)-4,4);
$img_tipo = @strtolower($img_tipo);
$wtmk_tipo = @substr($sorgente_wtmk,@strlen($sorgente_wtmk)-4,4);
$wtmk_tipo = @strtolower($wtmk_tipo);

//richiamiamo diverse funzioni a seconda del tipo di immagine
if($img_tipo == ".gif")
{ 
  $img_result = imagecreatefromgif($img_sorgente);
}
elseif($img_tipo == ".jpg" || $img_tipo == "jpeg")
{ 
  $img_result = @imagecreatefromjpeg($img_sorgente);
}
elseif($img_tipo == ".png")
{ 
  $img_result = @imagecreatefrompng($img_sorgente);
}else{
  die("Impossibile rilevare il formato dell'immagine " . $img_sorgente); 
} 

if(!$img_result)
{
  die("Impossibile creare l'immagine". $img_sorgente);
}

//facciamo lo stesso per quanto riguarda il watermark
if($wtmk_tipo == ".gif")
{
  $wtmk = @imagecreatefromgif($sorgente_wtmk);
}
elseif($wtmk_tipo == ".png")
{
  $wtmk = @imagecreatefrompng($sorgente_wtmk);
}else{
  die("Impossibile rilevare il formato del watermark");
}

if(!$wtmk) die("Impossibile creare il watermark");

//stabiliamo le dimensioni dell'output
$img_result_width = @imagesx($img_result);
$img_result_height = @imagesy($img_result); 
$wtmk_width = @imagesx($wtmk);
$wtmk_height = @imagesy($wtmk);
$width = (($img_result_width - $wtmk_width)/2);
$height = (($img_result_height - $wtmk_height)/2);

//creiamo un immagine che comprenda il sorgente modificato e il suo watermark 
imagecopy(
$img_result, 
$wtmk, 
$width, $height, 
0,
0,
$wtmk_width,
$wtmk_height
);

$immaginecw = imagejpeg($img_result);

return $immaginecw;
}
prima di applicare questa funzione, rinomino anche il file facendo questo:


codice:
if (is_uploaded_file($_FILES['foto1']['tmp_name'])) {	$estensione_foto1 = catch_estensione($_FILES['foto1']['name']); $foto1 = '1'.time() .'.'.$estensione_foto1; } else {$foto1 = '';}
e per spostarla nella cartella che voglio e applicare il watermark faccio cosi:

codice:
if (is_uploaded_file($_FILES['foto1']['tmp_name'])) { $fotomod = watermark($_FILES['foto1']['name']);	move_uploaded_file( $fotomod, 'foto_annunci/'.$foto1); }
solo che facendo questo mi va in die la funzione dicendomi questo:

Impossibile creare l'immagine prova.png

dopo vari tentativi ho deciso di aggiungere sulla stampa dell'errore il nome dell'immagine per verificare se questa arrivasse alla funzione, e questa arriva, anche perchè togliendo la funzione watermark tutto il resto è perfetto... mi sposta l'immagine rinominata nella cartella che voglio... evidentemente c'è un errore nella funzione o ho sbagliato io ad applicarla...cosa mi dite?