Pagina 1 di 2 12 UltimoUltimo
Visualizzazione risultati 1 fino 30 di 34

Discussione: problema firma dinamica

  1. #1
    Guest

    Predefinito problema firma dinamica

    Salve,
    sto creando una firma dinamica seguendo questa guida http://www.phpmix.com/index.php?page=213&t=328
    il problema è che alla fine quando tento di aprire l'immagine mi da problemi con il file .htacces dandomi "errore 505" eccetera, e il file lo trasforma in .txt
    il codice del file,come scritto nella guida è questo
    Codice:
    <FilesMatch "^.*\.png"> 
       SetHandler application/x-httpd-php 
    </FilesMatch>
    sapete come risolvere?
    grazie

  2. #2
    Guest

    Predefinito

    una firma dinamica la crei anche con solo 5 righe di php

    ad esempio:

    Codice PHP:
    $immagini = array('prima_img.gif', 'seconda_img.gif', 'n_img.gif');
    $rand = array_rand($immagini);
    $img = imagecreatefromgif($immagini[$rand]);
    header('Content-type: image/gif');
    imagegif($img);
    imagedestroy($img);
    poi puoi aggiungere altre funzioni x scrivere del testo oppure x colorare ecc...

  3. #3
    Guest

    Predefinito

    Citazione Originalmente inviato da myphpbb2
    Salve,
    sto creando una firma dinamica seguendo questa guida http://www.phpmix.com/index.php?page=213&t=328
    il problema è che alla fine quando tento di aprire l'immagine mi da problemi con il file .htacces dandomi "errore 505" eccetera, e il file lo trasforma in .txt
    il codice del file,come scritto nella guida è questo
    Codice:
    <FilesMatch "^.*\.png"> 
       SetHandler application/x-httpd-php 
    </FilesMatch>
    sapete come risolvere?
    grazie
    Devi fare il contrario, ovvero in quel htaccess forzi il server a leggere un file con estensione png come se fosse php. Te invece devi mascherare l'estensione .php come .png

  4. #4
    Guest

    Predefinito

    prova così

    RewriteEngine On
    RewriteRule .*\.png /file.php

  5. #5
    Guest

    Predefinito

    Citazione Originalmente inviato da Inverno
    Devi fare il contrario, ovvero in quel htaccess forzi il server a leggere un file con estensione png come se fosse php. Te invece devi mascherare l'estensione .php come .png
    scusa ma il file io lo salvo come png e gli inserisco il codice in php come dice la guida, quindi penso che sia giusto il contrario di quello che dici tu: ossia che deve leggere un file con estensione png come se fosse php

  6. #6
    Guest

    Predefinito

    Soul ho provato come hai detto tu ma ora mi da errore 404

  7. #7
    Guest

    Predefinito

    io l'ho provato sul mio spazio e funziona, forse ha dimenticato di sostituire file.php col nome del file php

    p.s.
    il codice ke usavi prima nn funzionava xkè il file avendo estensione .png nn veniva processato dal server ma veniva inviato al client come se si fosse trattato di un file php già processato, xcui veniva visualizzato il codice
    Ultima modifica di SoulHome : 16-11-2005 alle ore 16.04.02

  8. #8
    Guest

    Predefinito

    scusa ma qual è il nome del file php? qui non c'è un file php ma è un png che contiene codice php

  9. #9
    Guest

    Predefinito

    devi rinominare il png, altrimenti nn viene processato.

  10. #10
    Guest

    Predefinito

    ma scusa il file htacces serve prorpio per non rinominare il file png e dire al servere di processarlo come se fosse php
    se lo rinomino a che serve il file htacces? a niente

  11. #11
    Guest

    Predefinito

    il file htaccess farà in modo ke il file.php sia accessibile anke digitando file.png

  12. #12
    Guest

    Predefinito

    ok ora capisco
    grazie provo

  13. #13
    Guest

    Predefinito

    niente da fare, se apro con estensione php non si vede niente, mentre se lo apro con png mi da errore 404

    P.S. cmq perchè se seguo quello che diceva la guida a me non funziona?? ho visto che ad altri va benissimo, solo a me non funziona

  14. #14
    Guest

    Predefinito

    piccola correzione:
    prima ti ho dato qst codice:

    RewriteEngine On
    RewriteRule .*\.png /file.php

    è giusto, xò così il file php verrà aperto indipendentemente dal nome della png
    qnd sostituiscilo con qst:

    RewriteEngine On
    RewriteRule nomepng\.png /nomephp.php

    edit:
    una risposta e te l'ho data in un edit di alcuni post fa, probabilemte dipende dal server, cmq a qst punto mi sa ke è sbagliato il codice del file php, postalo.
    Ultima modifica di SoulHome : 16-11-2005 alle ore 16.19.32

  15. #15
    Guest

    Predefinito

    Sono allo stesso punto di prima
    il codice è queelo che c'è scritto nella guida, in più io ci ho aggiunnto uno script che mostri ip browser e os

  16. #16
    Guest

    Predefinito

    cmq il codice è questo
    Codice:
     <?php 
    
    $image_info = array( 
        'image'    => 'personal.gif' 
    ); 
    //we obtain what we need (otteniamo ciò che ci serve)
       $curos=strtolower($_SERVER['HTTP_USER_AGENT']);
    //we obtain user ip (otteniamo l'ip dell'utente
       $uip=$_SERVER['REMOTE_ADDR'];
    //we obtain user ISP (otteniamo l'isp dell'utente
       $uht=gethostbyaddr($_SERVER['REMOTE_ADDR']);
    
    //definiamo l'os dell'utente
               if (ereg("mac", $curos)) {
                       $uos="MacOS";
                       } else if (ereg("linux", $curos)) {
                       $uos="Linux";
    		  		   } else if (ereg("windows", $curos)) {
    				   		if (ereg("windows nt 5.1", $curos)) { 
    		  		   		$uos="Windows Xp";
    						} else if (ereg("windows nt 5.0", $curos)) {
    						$uos="Windows 2000";
    						} else if (ereg("windows nt 4.9", $curos)) {
    						$uos="Windows 98";
    						} else {
    						$uos="windows";
    						}
                       } else if (ereg("bsd", $curos)) {
                       $uos="BSD";
                       } else if (ereg("qnx", $curos)) {
                       $uos="QNX";
                       } else if (ereg("sun", $curos)) {
                       $uos="SunOS";
                       } else if (ereg("solaris", $curos)) {
                       $uos="Solaris";
                       } else if (ereg("irix", $curos)) {
                       $uos="IRIX";
                       } else if (ereg("aix", $curos)) {
                       $uos="AIX";
                       } else if (ereg("unix", $curos)) {
                       $uos="Unix";
                       } else if (ereg("amiga", $curos)) {
                       $uos="Amiga";
                       } else if (ereg("os/2", $curos)) {
                       $uos="OS/2";
                       } else if (ereg("beos", $curos)) {
                       $uos="BeOS";
                       } else { $uos="Non riconosciuto";
               }
    
    //definiamo il browser dell'utente
    		if (ereg("gecko",$curos)) {
                                 if (ereg("safari", $curos)) {
                                 $bos="Safari";
                                 } else if (ereg("camino", $curos)) {
                                 $bos="Camino";
                               } else if (ereg("firefox", $curos)) {
                               $bos="Firefox";
                               } else if (ereg("netscape", $curos)) {
                               $bos="Netscape";
                               } else { $bos="Mozilla";
                               }
              		} else if (ereg("opera", $curos)) {
                            $bos="Opera";
            		} else if (ereg("msie", $curos)) {
    				   		if (ereg("msie 6", $curos)) { 
                            $bos="Internet Explorer 6";
    						} else if (ereg("msie 5", $curos)) {
                            $bos="Internet Explorer 5";
    						} else {
                            $bos="Internet Explorer";
    						}
         		        } else if (ereg("voyager", $curos)) {
                            $bos="Voyager";        
       		        } else if (ereg("lynx", $curos)) {
                            $bos="Lynx";
    			}elseif(ereg("webtv", $curos)) {
    			$bos="WebTV"; 
    			}elseif(ereg("Konqueror", $curos)){
    			$bos="Konqueror";
        		        } else { $bos="Non riconosciuto";
               }
    
    $image_text = array( 
        array( 
            'x'     => 8, 
            'y'     => 6, 
            'color' => array(50, 100, 180), 
            'font'  => -5, 
            'text'  => $uip 
        ), 
        array( 
            'x'     => 8, 
            'y'     => 22, 
            'color' => array(50, 100, 180), 
            'font'  => -5, 
            'text'  => $uos
        ), 
        array( 
            'x'     => 22, 
            'y'     => 6, 
            'color' => array(50, 100, 180), 
            'font'  => -5, 
            'text'  => $bos
        ), 
        array( 
            'x'     => 22, 
            'y'     => 22, 
            'color' => array(50, 100, 180), 
            'font'  => -5, 
            'text'  => $uht
        ) 
    ); 
    
    include('./includes/dynamic_gd_image.php'); 
    
    ?>

  17. #17
    Guest

    Predefinito

    potersti postare anke il codice di dynamic_gd_image.php?

  18. #18
    Guest

    Predefinito

    quello è lo stesso che c'è nella guida ho solo eliminato i gd fonts che c'erano nell'array iniziale
    Codice:
    <?php 
    
    $gdfonts = array( 
    
    ); 
    
    // 
    // 
    // 
    if( !isset($image_info) || !isset($image_text) ) 
    { 
        exit; 
    } 
    
    // 
    // 
    // 
    $sz = @getimagesize('./images/'.$image_info['image']); 
    if( !$sz ) 
    { 
        exit; 
    } 
    $image_w = $sz[0]; 
    $image_h = $sz[1]; 
    
    // 
    // 
    // 
    @header('Content-type: image/png'); 
    
    $im = @imagecreatefromgif('./images/'.$image_info['image']); 
    $rgb = ( isset($image_info['color']) ? $image_info['color'] : array(255, 255, 255) ); 
    $bgColor = imagecolorallocate($im, $rgb[0], $rgb[1], $rgb[2]); 
    
    for( $i = 0; $i < count($image_text); $i++ ) 
    { 
        if( !is_numeric($image_text[$i]['font']) ) 
        { 
            $font = 1; 
        } 
        else if( $image_text[$i]['font'] < 0 ) 
        { 
            $font = $image_text[$i]['font'] * -1; 
        } 
        else 
        { 
            if( !($font = @imageloadfont('./gd_fonts/'.$gdfonts[$image_text[$i]['font']].'.gdf')) ) 
            { 
                $font = 1; 
            } 
        } 
        $rgb = $image_text[$i]['color']; 
        $fgColor = imagecolorallocate($im, $rgb[0], $rgb[1], $rgb[2]); 
        imagestring($im, $font, $image_text[$i]['x'], $image_text[$i]['y'], $image_text[$i]['text'], $fgColor); 
    } 
    
    imagepng($im); 
    imagedestroy($im); 
    
    ?>

  19. #19
    Guest

    Predefinito

    i caratteri nn li puoi togliere così, rimettili e vedi se funge

  20. #20
    Guest

    Predefinito

    veramente li ho eliminati solo prima di postarti il messaggio con il codice del file e non funzionava neanche prima
    cmq adesso li rimetto anche se non funzionava lo stesso

  21. #21
    Guest

    Predefinito

    ok, ho visto che adesso se lascio estensione php funziona tutto però vorrei sapere il modo di fargli interpretare un file png come se fosse php
    grazie

  22. #22
    Guest

    Predefinito

    ma xkè? se usi il codice ke ti ho dato io nake se il file è php lo puoi aprire com png...
    cmq visto ke ci tieni proprio prova così:

    AddType application/x-httpd-php .png

  23. #23
    Guest

    Predefinito

    non funziona neanche così

  24. #24
    Guest

    Predefinito

    è probabile ke qst tipo di operazione sia disabilitata su altervista, ma tanto nn serve....

  25. #25
    Guest

    Predefinito

    allora x la firma dinamica che ogni aggiornamento della pagina cambi usa questo codice php
    Codice PHP:
    <?
    Header
    ("Content-Type: nomecartelladovecisonoleimg/estensionedelleimg");

    $dir = 'nomedellacartella/';
    $dh = opendir($dir);
    while (
    false !== ($filename = readdir($dh))) {
    $files[] = $filename;
    }

    $numero=(count($files))-1;

    $caso=rand(2,$numero);
    $image=$dir.$files[$caso];
    $fn=fopen($image,"r");
    fpassthru($fn);
    ?>
    è lo salvi firma.php...ricardati che l'estensione deve essere una percio in guesta riga potresti fare così
    Codice PHP:
    Header("Content-Type: firme/png");
    firme è la cartella png è l'estensione


    poi nel forum dove vuoi far vedere la firma usi questo tag
    Codice HTML:
    [IMG]http://www.tuosito.altervista.org/firma.php[/IMG]
    Ultima modifica di Supersavio : 18-11-2005 alle ore 18.44.11

  26. #26
    Guest

    Predefinito

    Header("Content-Type: firme/png");
    qst cosa nn esiste, l'header deve essere
    header('Content-type: image/png');
    la cartella nn c'entra

  27. #27
    Guest

    Predefinito

    io ho così e mi funziona na bellazza da come puoi vedere dalla mia firma delle email
    Ultima modifica di Supersavio : 18-11-2005 alle ore 19.05.20

  28. #28
    Guest

    Predefinito

    magari funge lo stesso xò te lo sei inventato tu qst sistema...
    il content type indica al browser il mime type del file aperto,
    il mime type delle png è image/png.
    il tuo sistema con qlke browser potrebbe nn fungere...
    Ultima modifica di SoulHome : 18-11-2005 alle ore 19.17.08

  29. #29
    Guest

    Predefinito

    fino ad ora funge con IE FF Opera Mozilla Netscape

  30. #30
    L'avatar di webscript
    webscript non è connesso Utente attivo
    Data registrazione
    28-11-2004
    Messaggi
    320

    Predefinito

    scusa SuperSavio ma qui proprio non ti do ragione...
    "il funziona lo stesso", non è la politica giusta per affrontare uno script... esiste uno standard, ma qua non ha senso neanche parlare di standard, cioè quello non è un mime-type, e tu invece lo fai passare come tale... è paradossale.

    Ah cmq Firefox a me l'immagine la riconosce come file php... forse non conoscendo il mime, prende l'estensione del file per riconoscerlo...

    WebScript
    Ultima modifica di webscript : 18-11-2005 alle ore 19.28.21

Pagina 1 di 2 12 UltimoUltimo

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •