northwest  
          
              
                13 Grudzień 2007 17:09
               
              #1 
           
         
        
          Witam,
Mam następujący skrypt:
<?php
   for ($x=0;$x
	$litera_klucza=substr(KLUCZ,$x%strlen(KLUCZ),1);
	$litera_szyfru=substr($szyfr,$x,1);
	$kod=$kod.($litera_klucza^$litera_szyfru);
    }
    $tlo=imagecolorallocate($grafika,0,0,0);
    $tekst=imagecolorallocate($grafika,0,0,0);
    imagestring($grafika,5,5,5,$kod,$tekst);
    Imagegif($grafika);
?>
Na serwerze z PHP4 ( http://www.pbla.pl/get_token.php?token=IOcnIDALVPNtVN==  ) efektem działania tego skryptu jest obrazek
z tekstem (tzw. token). Na lokalnym serwerze z PHP5 niestety nie działa on…
Możecie mi pomóc z tym??
Z góry dzieki za pomoc,
pozdrawiam North
         
        
           
         
            
       
      
        
          
          
            adpawl  
          
              
                13 Grudzień 2007 17:37
               
              #2 
           
         
        
          Pominę może dziwaczny nieco kod generujący token… 
header daj na sam początek skryptu!
 
jak w header masz ustawiony typ na jpeg, to wywołuj fotkę również jako jpeg a nie jak w tym kodzie gif.
 
 
-czyli przy header
header ("Content-type: image/jpeg");
na końcu ma być
imagejpeg($grafika); 
        
           
         
            
       
      
        
          
          
            northwest  
          
              
                13 Grudzień 2007 20:07
               
              #3 
           
         
        
          nooo i mam teraz taki kod:
<?php
    header ("Content-type: image/jpeg");
    define('KLUCZ','...');  
    $grafika=imagecreatefromgif('./tlo.gif');
    $token=str_rot13($_GET['token']);
    $token=base64_decode($token);
    $szyfr=substr($token,0,strpos($token," "));    
    for ($x=0;$x
	 $litera_klucza=substr(KLUCZ,$x%strlen(KLUCZ),1);
	 $litera_szyfru=substr($szyfr,$x,1);
	 $kod=$kod.($litera_klucza^$litera_szyfru);
    }           
    $tlo=imagecolorallocate($grafika,0,0,0);
    $tekst=imagecolorallocate($grafika,0,0,0);  
    imagestring($grafika,5,5,5,$kod,$tekst);
    imagejpeg($grafika);
?>
ale niestety dalej nie działa :((( efekt jest taki jak wcześniej 
         
        
           
         
            
       
      
        
          
          
            adpawl  
          
              
                13 Grudzień 2007 20:21
               
              #4 
           
         
        
          
Pisałem, masz strasznie pokopany fragment generatora tokena.
Zobacz efekt bez tego fragmentu:
<?php
header ("Content-type: image/jpeg");
define('KLUCZ','ania');
$grafika=imagecreatefromgif('./tlo.gif');
$kod=$_GET['token'];
$tlo=imagecolorallocate($grafika,0,0,0);
$tekst=imagecolorallocate($grafika,0,0,0);
imagestring($grafika,5,5,5,$kod,$tekst);
imagejpeg($grafika);
?> 
        
           
         
            
       
      
        
          
          
            northwest  
          
              
                13 Grudzień 2007 20:25
               
              #5 
           
         
        
          zrobiłem tak jak kazałeś:
<?php
    //header ("Content-type: image/jpeg");
    //define('KLUCZ','ania');  
    //$grafika=imagecreatefromgif('./tlo.gif');
    $token=str_rot13($_GET['token']);
    $token=base64_decode($token);
    $szyfr=substr($token,0,strpos($token," "));    
   for ($x=0;$x
	 $litera_klucza=substr(KLUCZ,$x%strlen(KLUCZ),1);
	 $litera_szyfru=substr($szyfr,$x,1);
	 //$kod=$kod.($litera_klucza^$litera_szyfru);
    }           
    //$tlo=imagecolorallocate($grafika,0,0,0);
    //$tekst=imagecolorallocate($grafika,0,0,0);  
    //imagestring($grafika,5,5,5,$kod,$tekst);
    //imagejpeg($grafika);
?>
efektem tego jest pusty ekran… tak miało być??
a jak wkleje to co podałeś u góry (ten kod) - to jest efekt taki jaki był wcześniej 
         
        
           
         
            
       
      
        
          
          
            adpawl  
          
              
                13 Grudzień 2007 20:34
               
              #6 
           
         
        
          
Bajki opowiadasz… -nic nie wpominałem o tych fragmentach które wyłaczyłeś.
Zwyczajnie wykomentowałeś potrzebne linijki, więc nie ma się co dziwić że nie działa. 
A kod który podałem wcześniej sprawdzałem u siebie i było ok.
Czy aby napewno masz w katalogu nadrzędnym plik tlo.gif ?
BTW
Kod obejmuj znacznikami
[/color] 
        
           
         
            
       
      
        
          
          
            northwest  
          
              
                13 Grudzień 2007 20:42
               
              #7 
           
         
        
          Twój kod wkleiłem i też nie działa 
zrobiłem tak:
<?php
$kod=$_GET['token'];
$tlo=imagecolorallocate($grafika,0,0,0);
$tekst=imagecolorallocate($grafika,0,0,0);
imagestring($grafika,5,5,5,$kod,$tekst);
imagejpeg($grafika);
?>
i w FireFoxie (Ubuntu 7.10+apache2+php5) mam takie coś na ekranie:
http://localhost/panoramaofert/get_toke … xCVPNtVN== 
mój url jaki wprowadzam: http://localhost/bla/get_token.php?toke … xCVPNtVN== 
         
        
           
         
            
       
      
        
          
          
            adpawl  
          
              
                13 Grudzień 2007 20:54
               
              #8 
           
         
        
          
prosiłem żebyś obejmował wklejany kod znacznikami [code]
 
nie mamy dostępu do Twojego localhosta
 
widzę, że gifa masz w tym samym katalogu co plik php …więc nie powinienes się odwoływać do katalogu nadrzędnego.
 
 
Daj
<?php
header ("Content-type: image/jpeg");
$grafika=imagecreatefromgif('tlo.gif');
$kod=$_GET['token'];
$tlo=imagecolorallocate($grafika,0,0,0);
$tekst=imagecolorallocate($grafika,0,0,0);
imagestring($grafika,5,5,5,$kod,$tekst);
imagejpeg($grafika);
?>
powinno być ok.
         
        
           
         
            
       
      
        
          
          
            northwest  
          
              
                13 Grudzień 2007 21:15
               
              #9 
           
         
        
          W internecie ten kod działa okey (na php4), tylko czemu nie chce na lokalnym php 5 działać 
         
        
           
         
            
       
      
        
          
          
            Airborn  
          
              
                13 Grudzień 2007 21:18
               
              #10 
           
         
        
          adpawl  ja tam wcześniej widzę tylko taką wersję
i to przecież nie jest odwołanie do katalogu nadrzędnego, tylko do katalogu bieżącego
         
        
           
         
            
       
      
        
          
          
            northwest  
          
              
                13 Grudzień 2007 21:24
               
              #11 
           
         
        
          a masz php5?? może nie mam jakiejś biblioteki zainstalowanej?? 
         
        
           
         
            
       
      
        
          
          
            Airborn  
          
              
                13 Grudzień 2007 21:28
               
              #12 
           
         
        
          te funkcje są z biblioteki gd, standardowo powinna ona być dostępna, gdyby nie była parser powinien wypluć błędy typu call to undefinied function  , ale może coś z wersją jest nie tak, sprawdź efekt działania czegoś takiego
<?php
var_dump(gd_info());
?> 
        
           
         
            
       
      
        
          
          
            adpawl  
          
              
                13 Grudzień 2007 21:30
               
              #13 
           
         
        
          
Fakt, moje niedopatrzenie. Nadrzędny było by …/  a jest tylko jeden kropek 
-za dużo kawy i za mało snu …znowu :-x
Tak czy owak, podany kod u mnie działał bez najmniejszego problemu …zatem chyba jednak northwest  ma konfig coś nie tego 
         
        
           
         
            
       
      
        
          
          
            northwest  
          
              
                13 Grudzień 2007 21:31
               
              #14 
           
         
        
          mam taki error: Fatal error: Call to undefined function gd_info() in /var/www/bla/test.php on line 2
         
        
           
         
            
       
      
        
          
          
            Airborn  
          
              
                13 Grudzień 2007 21:34
               
              #15 
           
         
        
          no to wygląda na to, że jest jednak jakiś problem z biblioteką GD, możesz jeszcze sprawdzić czy
<?php
phpinfo(INFO_MODULES);
?>
wskaże takową bibliotekę
         
        
           
         
            
       
      
        
          
          
            northwest  
          
              
                13 Grudzień 2007 21:41
               
              #16 
           
         
        
        
           
         
            
       
      
        
          
          
            adpawl  
          
              
                13 Grudzień 2007 21:45
               
              #17 
           
         
        
          wygląda że nie masz GD włączonego
…wejdź w php.ini i odszukaj linijke:
;extension=php_gd2.dll 
następnie zmień ją na:
extension=php_gd2.dll 
potem zrestartuj serwer.
         
        
           
         
            
       
      
        
          
          
            northwest  
          
              
                13 Grudzień 2007 21:56
               
              #18 
           
         
        
          w linuxie nie mam plików dll:( i takiej linijki co podałeś też nie:/