Zacznę od tego że w PHP jestem zielony. Znalazłem na pewnym warezie skrypt php, który uzupełnia sygnaturkę o dane takie jak liczba postów, pochwał, linków w postach, dni na forum i tak dalej. Wymaga on serwera Apache obsługującego mod_rewrite. Znalazłem stronę z hostingiem www, która oferuje to rozwiązanie. Skonfigurowałem skrypt pod swoje konto na owym warezie i wszystko działało. Problem pojawił się w momencie próby uruchomienia skryptu z danymi z innego forum. Po zmianie adresu profilu w skrypcie, sygnaturka przestała się uzupełniać. Sprawdzałem wiele razy czy nie nie popełniłem literówki czy innego błędy. Dodam jeszcze, że skrypt wymaga aby forum udostępniało oglądanie profilu bez zalogowania się. Ten warunek fiest spełniony w przypadku forum, na które próbowałem skonfigurować skrypt. Teraz do rzeczy. Oto kod skryptu z wypełnionym adresem przykładowego profilu na owym warezie, z którego go pobrałem:
Kod
<?
$zrodlo = file_get_contents('http://darkwarez.pl/forum/profile.php?mode=viewprofile&u=181758');
#wyciąganie liczby postów
preg_match('|<td valign="top"><span class="gen"><b>([0-9]{0,15})|', $zrodlo, $posty);
#wyciąganie pochwał
preg_match('|<td><b><span class="gen">([0-9]{0,5})|', $zrodlo, $pochwaly);
#wyciąganie linków
preg_match('|w tym <b>([0-9]{0,6})|', $zrodlo, $linki);
#wyciąganie diamentów i poziomu
preg_match_all('|<a href="diamenty.php" style="color: #a4a4a4;">([0-9]{0,6})|', $zrodlo, $poziomidiamenty);
#wyciąganie dni na forum
preg_match('|([0-9]{0,5}) dni temu|', $zrodlo, $dni);
$obrazek=imagecreatefromjpeg('tlo.jpg');
$kolor=ImageColorAllocate($obrazek,69, 167, 167); //definiuje kolor
ImageTTFText($obrazek,10,0,19,10,$kolor,'visitor2.ttf',$linki[1].''); //linki
ImageTTFText($obrazek,10,0,120,10,$kolor,'visitor2.ttf',$posty[1].''); //posty
ImageTTFText($obrazek,10,0,220,10,$kolor,'visitor2.ttf',$pochwaly[1].''); //pochwały
ImageTTFText($obrazek,10,0,242,65,$kolor,'visitor2.ttf',$poziomidiamenty[1][1].''); //poziom
ImageTTFText($obrazek,10,0,132,65,$kolor,'visitor2.ttf',$poziomidiamenty[1][0].''); //diamenty
ImageTTFText($obrazek,10,0,11,65,$kolor,'visitor2.ttf',$dni[1].''); //dni na forum
Header("Content-type: image/jpeg");
ImageJpeg($obrazek,NULL,100);
ImageDestroy($obrazek);
?>
$zrodlo = file_get_contents('http://darkwarez.pl/forum/profile.php?mode=viewprofile&u=181758');
#wyciąganie liczby postów
preg_match('|<td valign="top"><span class="gen"><b>([0-9]{0,15})|', $zrodlo, $posty);
#wyciąganie pochwał
preg_match('|<td><b><span class="gen">([0-9]{0,5})|', $zrodlo, $pochwaly);
#wyciąganie linków
preg_match('|w tym <b>([0-9]{0,6})|', $zrodlo, $linki);
#wyciąganie diamentów i poziomu
preg_match_all('|<a href="diamenty.php" style="color: #a4a4a4;">([0-9]{0,6})|', $zrodlo, $poziomidiamenty);
#wyciąganie dni na forum
preg_match('|([0-9]{0,5}) dni temu|', $zrodlo, $dni);
$obrazek=imagecreatefromjpeg('tlo.jpg');
$kolor=ImageColorAllocate($obrazek,69, 167, 167); //definiuje kolor
ImageTTFText($obrazek,10,0,19,10,$kolor,'visitor2.ttf',$linki[1].''); //linki
ImageTTFText($obrazek,10,0,120,10,$kolor,'visitor2.ttf',$posty[1].''); //posty
ImageTTFText($obrazek,10,0,220,10,$kolor,'visitor2.ttf',$pochwaly[1].''); //pochwały
ImageTTFText($obrazek,10,0,242,65,$kolor,'visitor2.ttf',$poziomidiamenty[1][1].''); //poziom
ImageTTFText($obrazek,10,0,132,65,$kolor,'visitor2.ttf',$poziomidiamenty[1][0].''); //diamenty
ImageTTFText($obrazek,10,0,11,65,$kolor,'visitor2.ttf',$dni[1].''); //dni na forum
Header("Content-type: image/jpeg");
ImageJpeg($obrazek,NULL,100);
ImageDestroy($obrazek);
?>
Ja potrzebuję uzupełniania jedynie 3 wartości: Liczby postów, liczby dni na forum i liczby linków w postach.
Tak wygląda skrypt po mojej przeróbce:
Kod
<?
$zrodlo = file_get_contents('http://bingbang.eu/profile.php?mode=viewprofile&u=1467');
#wyci¦ganie liczby postˇw
preg_match('|<td valign="top"><span class="gen"><b>([0-9]{0,15})|', $zrodlo, $posty);
#wyci¦ganie linkˇw
preg_match('|w tym <b>([0-9]{0,6})|', $zrodlo, $linki);
#wyciaganie liczby dni
preg_match('|([0-9]{0,5}) dni temu|', $zrodlo, $dni);
$obrazek=imagecreatefromjpeg('tlo.jpg');
$kolor=ImageColorAllocate($obrazek,0, 208, 227); //definiuje kolor
ImageTTFText($obrazek,10,0,225,43,$kolor,'visitor2.ttf',$linki[1].''); //wypisuje text [wielkoťŠ, nachylenie, po-o¬enie]
ImageTTFText($obrazek,10,0,225,21,$kolor,'visitor2.ttf',$posty[1].''); //wypisuje text [wielkoťŠ, nachylenie, po-o¬enie]
ImageTTFText($obrazek,10,0,225,32,$kolor,'visitor2.ttf',$dni[1].''); //wypisuje text [wielkoťŠ, nachylenie, po-o¬enie]
Header("Content-type: image/jpeg");
ImageJpeg($obrazek,NULL,100);
ImageDestroy($obrazek);
?>
$zrodlo = file_get_contents('http://bingbang.eu/profile.php?mode=viewprofile&u=1467');
#wyci¦ganie liczby postˇw
preg_match('|<td valign="top"><span class="gen"><b>([0-9]{0,15})|', $zrodlo, $posty);
#wyci¦ganie linkˇw
preg_match('|w tym <b>([0-9]{0,6})|', $zrodlo, $linki);
#wyciaganie liczby dni
preg_match('|([0-9]{0,5}) dni temu|', $zrodlo, $dni);
$obrazek=imagecreatefromjpeg('tlo.jpg');
$kolor=ImageColorAllocate($obrazek,0, 208, 227); //definiuje kolor
ImageTTFText($obrazek,10,0,225,43,$kolor,'visitor2.ttf',$linki[1].''); //wypisuje text [wielkoťŠ, nachylenie, po-o¬enie]
ImageTTFText($obrazek,10,0,225,21,$kolor,'visitor2.ttf',$posty[1].''); //wypisuje text [wielkoťŠ, nachylenie, po-o¬enie]
ImageTTFText($obrazek,10,0,225,32,$kolor,'visitor2.ttf',$dni[1].''); //wypisuje text [wielkoťŠ, nachylenie, po-o¬enie]
Header("Content-type: image/jpeg");
ImageJpeg($obrazek,NULL,100);
ImageDestroy($obrazek);
?>
Stworzyłem do tego własne tło a pozostałymi plikami się nie interesowałem. W linku do poradnika podana jest również przykładowa paczka z wymaganymi plikami, które należy zamieścić do działania skryptu.
Bardzo proszę o pomoc i pozdrawiam.