Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Convertire stringa in immagine

    Stavo cercando di creare una captcha come quella di moltissimi siti
    (per intendersi qualcosa come questa)

    Navigando in rete ho trovato questo:
    Codice PHP:
    <?php

      
    // header dell'immagine
      
    header("Content-type: image/jpg");

      
    // indirizzo email
      
    $string "tuaemail@dominio.com";

      
    // impostazioni generali
      
    $font  4;
      
    $width  ImageFontWidth($font) * strlen($string);
      
    $height ImageFontHeight($font);

      
    // creazione immagine
      
    $im = @imagecreatetruecolor ($width,$height);

      
    //sfondo bianco
      
    $background_color imagecolorallocate ($im255255255);

      
    //testo nero
      
    $text_color imagecolorallocate ($im000);

      
    // conversione del testo in immagine
      
    imagestring ($im$font00,  $string$text_color);

      
    // visualizzazione
      
    imagejpeg ($im);
    ?>
    ...che non mi funziona.
    Come posso risolvere?

  2. #2
    se non ti serve per esercitarti: http://www.google.com/recaptcha
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  3. #3

    Re: Convertire stringa in immagine

    Originariamente inviato da mattealex
    ...che non mi funziona.
    Scrivere che non funziona senza specificare cosa sia che non funziona è come credere nella sfera di cristallo per prevedere le sciagure!

    Peraltro, il tuo script non genera una captcha, ma una immagine, che non linki a nessuna risorsa per poterla visualizzare a video.
    Ammettendo che lo script che hai postato sia chiamato captcha.php, dovresti fare un'altro script in cui scrivi quanto segue:
    Codice PHP:
    [img]captcha.php[/img
    .

    Ora aggiungo un paio di cose.
    1. Per creare una immagine al volo, come noterai, si utilizzano delle funzioni specifiche (imagecreatetruecolor(), per esempio).
    Queste funzioni sono presenti nelle librerie GD, che sono opzionali nell'installazione di PHP. Per utilizzarle devi controllare se nella tua installazione sono presenti o meno.
    Devi effettuare lo stesso controllo nell'ambiente di produzione (il server remoto, per intenderci): se sei su server windows, al 99,9% le GD non sono abilitate.
    2. Per creare una captcha, devi peraltro fare un passaggio in più: salvare la stringa (casuale) che inserisci come testo nell'immagine in una sessione, ed effettuare poi il controllo tra quanto scritto nella sessione e quanto riportato dall'utente leggendo il testo nell'immagine.

    Se cerchi nel forum trovi molti thread che ne parlano.
    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  4. #4

    Re: Re: Convertire stringa in immagine

    Originariamente inviato da alcio74
    Scrivere che non funziona senza specificare cosa sia che non funziona è come credere nella sfera di cristallo per prevedere le sciagure!
    In Effetti hai ragione

    lo script mi crea solo un'immagine nera, sia su locale che su remoto (linux)

  5. #5
    Questo è l'esempio che riporta il manuale ufficiale di PHP.
    Prova un po' se così ti funziona?

    Codice PHP:
    <?php
    // definizione della stringa da scrivere nella foto
      
    $string "tuaemail@dominio.com"

      
    // impostazioni  
      
    $font  4
      
    $width  ImageFontWidth($font) * strlen($string); 
      
    $height ImageFontHeight($font);

    // Crea l'immagine di base
    $im imagecreate($width$height);

    // background bianco e testo blu
    $bg imagecolorallocate($im255255255);
    $textcolor imagecolorallocate($im00255);

    // Scrivi il testo nell'immagine
    imagestring($im500$string$textcolor);

    // Output the image
    header('Content-type: image/jpg');

    imagejpeg ($im);
    imagedestroy($im);
    ?>
    Vedi un po' se così ti funziona?
    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

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.