northwest
(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
(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
(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
(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
(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
(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
(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
(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
(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
(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
(northwest)
13 Grudzień 2007 21:24
#11
a masz php5?? może nie mam jakiejś biblioteki zainstalowanej??
Airborn
(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
(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
(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
(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
(northwest)
13 Grudzień 2007 21:41
#16
adpawl
(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
(northwest)
13 Grudzień 2007 21:56
#18
w linuxie nie mam plików dll:( i takiej linijki co podałeś też nie:/