Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    50

    php + "salva immagine con nome"

    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/" $nomefile90); 
    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
    I file so piezz 'e codice

  2. #2
    Utente di HTML.it L'avatar di Ranma2
    Registrato dal
    Mar 2003
    Messaggi
    2,650
    header("Content-type:image/jpeg; filename="immagine.jpg"");


    dovrebbe bastare

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    50
    grazie ranma per la risposta velocissima,
    ma tu ti riferisci al primo o al secondo header(...) il codice che utilizzo io è in definitiva questo:


    Codice PHP:
    header("Content-type:image/jpeg");
    imagejpeg($img"deformed/" $nomefile90);
    header('Location: deformed/'  $nomefile); 
    I file so piezz 'e codice

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    50
    Risolto in altra maniera!
    ho semplicemente sostituito la stringa di codice:
    Codice PHP:
    header('Location: deformed/'  $nomefile); 
    con

    Codice PHP:
    header('Location: deformed/show.php?immagine='  $nomefile); 
    poi nella cartella "deformed" ho creato il file show.php che attraverso il GET legge il $nomefile e nel body di show.php:

    Codice PHP:
    [img] <? echo $img ?> [/img]
    banale ma funziona

    Ora si tratta di renderlo multi-piattaforma (funziona solo per PC attualmente)

    grazie cmq a tutti

    P.S. per chi ha PC e vuole vederlo

    http://www.foodsovereignty.org/public/deformer/

    ciao, ogni suggerimento è bene accetto
    I file so piezz 'e codice

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.