Ciao a tutti,
ho incontrato uno strano problema con le immagini generate da php + GD library.
Ho creato un programmino che permette di caricare su server un'immagine, modificarla e salvare l'immagine modificata in una cartella a parte chiamata "deformed".
Per creare l'immagine modificata ho utilizzato un file php che utilizza le GD library, la parte di codice per salvare l'immagine nella cartellina "deformed" è il seguente:
Codice PHP:
header("Content-type:image/jpeg");
imagejpeg($img, "deformed/" . $nomefile, 90);
Funziona tutto, l'immagine viene creata e salvata nella cartella "deformed" col giusto nome e peso.
Ora volendo renderla subito visibile all'utente, ho aggiunto una stringa di codice che indirizza il browser verso quella immagine anche perchè, volendo, l'utente potrebbe salvarla sul proprio computer attraverso l'opzione "salva immagine con nome". la stringa è la seguente:
Codice PHP:
header('Location:deformed/' . $nomefile);
Anche qui funziona tutto: non appena l'immagine viene creata il browser viene indirizzato verso quella immagine che viene correttamente visualizzata. La url del browser è quella corretta, guardando le proprietà dell'immagine è tutto corretto (compreso nome, dimensioni e peso).
Se pero' utilizzo l'opzione "salva immagine con nome", nella finestra che si apre il nome attribuito all'immagine è quello del file php che l'ha generata. E se lo cambio in qualchenome.jpg poi l'immagine, anche se salvata, non è piu' utilizzabile e il suo peso risulta essere quello del php che l'ha generata.
Se pero' faccio il refresh della pagina con l'immagine, allora tutto torna a posto ed è possibile salvarla correttamente.
Qualcuno potrebbe dirmi dov'è che sto sbagliando?
Oppure potrebbe indicarmi un modo alternativo all' header(location:...) per indirizzare il browser all'immagine?
Oppure potrebbe dirmi se c'è un modo per far "refreshare" automaticamente la pagina appena si apre?
Spero di essere stato comprensibile, e scusate la lunghezza
grazie a tutti