Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    114

    Creazione e visualizzazioneimmagine PHP

    Ho cercato nel forum, ma niente che possa risolvere il mio problema. L'unica discussione un po' inerente è questa ma nemmeno questa riesce ad aiutarmi.

    In pratica ho una funzione che, in base ad una stringa in input mi genera un'immagine PNG. Il mio problema è che non vorrei che l'immagine venga effettivamente creata e memorizzata sul server come avviene ora, ma vorrei semplicemente mostrarla a video.

    Queste sono le principali funzioni chiamate nella creazione dell'immagine (ho evitato di scrivere tutti i controlli):
    Codice PHP:
    $im=imagecreate($total_x$total_y);
    $col_bg=ImageColorAllocate($im,$bg_color[0],$bg_color[1],$bg_color[2]);
    $col_bar=ImageColorAllocate($im,$bar_color[0],$bar_color[1],$bar_color[2]);
    $col_text=ImageColorAllocate($im,$text_color[0],$text_color[1],$text_color[2]);
    imagefilledrectangle($im$xpos$space['top'], $xpos$h$col_bar);
    @
    imagettftext($im$fontsize0, ($total_x 2)-(strlen($text)*$fontsize/2.68), $fontheight$col_text$font_loc$text);
    imagepng($image$filename);
    imagedestroy($im); 
    ho creato una pagina con intestazione
    Codice PHP:
    header("Content-type: image/png"); 
    che richiama solo la funzione di generazione, e l'ho richiamata col tag <img/>
    codice:
    [img]image.php?input=<?php echo $input; ?>[/img]
    Il risultato è che l'immagine mi viene lo stesso creata sul server (in fin dei conti poco male, eventualmente se non si riuscisse ad eliminare questo passaggio si tratterebbe di sovrascriverla ogni volta) ma non mi viene mostrata nella pagina nella quale è richiamata!

    In sostanza, come faccio per visualizzare l'immagine dinamicamente (quindi senza richiamare la PNG) nel browser?

    Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    1,453

    Re: Creazione e visualizzazioneimmagine PHP

    Originariamente inviato da battax
    In sostanza, come faccio per visualizzare l'immagine dinamicamente (quindi senza richiamare la PNG) nel browser?
    Potresti usare un iframe sulla pagina che genera l'immagine

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2009
    Messaggi
    26
    Modifica
    Codice PHP:
    imagepng($image$filename); 
    con
    Codice PHP:
    imagepng($image); 
    In questo modo l'immagine non verrà salvata sul server

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    114
    Ok grazie! Più semplice del previsto!
    Ora però c'è un altro problema... l'immagine non mi viene ancora mostrata

    codice:
    [img]image.php?input=<?php echo $input; ?>[/img]
    La pagina image.php richiama unicamente la funzione di creazione dell'immagine (funzioni che sono corrette in quanto l'immagine con esse effettivamente si crea, anche se ora non viene più salvata nel server)

    Codice PHP:
    <?php
    header
    ("Content-type: image/png");
    include_once(
    'functions.php');

    create($_GET["input"], "tmp");
    ?>
    La funzione create, tra i tanti passaggi richiama i metodi mostrati nel primo post.
    cosa non va bene?

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2009
    Messaggi
    26
    Sarebbe più facile capire il problema avendo l'intero codice a disposizione..
    Comunque puoi provare a richiamare l'immagine direttamente dal browser ed eliminando (temporaneamente) l'header

    Codice PHP:
    header("Content-type: image/png"); 
    in questo modo vengono visualizzati eventuali errori nello script.

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.