Ciao a tutti, ho fatto un semplice script che riceve un'immagine, la modifica
e la restituisce modificata come output.
L'immagine viene visualizzata correttamente, ma quando dal browser provo a salvarla (con tasto destro e "salva immagine con nome") si verifica un problema: viene effettivamente salvato un file di nome "downloaded.jpg", ma occupa poco meno di 8kb e non è ovviamente l'immagine che vedo invece visualizzata nel browser.
E' come se ci fosse qualcosa che non va con gli header, ma non riesco a capire quale sia il problema esatto.
Mi viene da pensare che sia necessario specificare esattamente la dimensione in kb del'immagine nell'header, ma vedo che negli esempi in giro per la rete questo non viene mai specificato.

Provo a postare il codice spiegandolo, sperando che riusciate ad aiutarmi:
Codice PHP:
<?php
//Creo l'immagine dal file uploadato
$img imagecreatefromjpeg('upload_img/'.$_FILES['image']['name']);

//Dimensioni dell'immagine, larghezza e altezza
$sx imagesx($img);
$sy imagesy($img);

//Ridimensiono l'immagine
$resized_img imagecreatetruecolor(542,409);
imagecopyresized($resized_img$img0000542,409$sx$sy);

//Setto gli header
header('Content-type: image/jpeg');
header('Content-Length: '.filesize(imagejpeg($resized_img)));
header('Content-Disposition: inline; filename="downloaded.jpg"');

//Restituisco l'immagine in output
imagejpeg($resized_img'downloaded.jpg');
imagedestroy($resized_img);

//Elimino il vecchio file immagine dal server (non il file restituito in output!)
unlink('upload_img/'.$_FILES['image']['name']);
exit;
?>