Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Skrypt z dynamiczną sygnaturą
Jaszczomb
post
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 28.06.2009

Ostrzeżenie: (0%)
-----


Witam wszystkich.
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);
?>

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);
?>


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.

Ten post edytował Jaszczomb 28.06.2009, 20:40:04
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
maly_swd
post
Post #2





Grupa: Zarejestrowani
Postów: 744
Pomógł: 118
Dołączył: 14.02.2009
Skąd: poziome

Ostrzeżenie: (0%)
-----


brawo za reklame serwisu:)
podaj login i haslo to sprawdzimy jak wyglada stopka


--------------------
śmieszne obrazki
Kryzys: Ser jem spleśniały, wino piję stare i samochód mam bez dachu..
Go to the top of the page
+Quote Post
Jaszczomb
post
Post #3





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 28.06.2009

Ostrzeżenie: (0%)
-----


Przepraszam, zapomniałem że trzeba się rejestrować. Może przytoczę treść tematu:
Kod
Sygnatura z licznikiem Twoich postów, linków, pochwał itd.

Nadszedł czas na wydanie światu wszystkim tego skryptu.

Jest to prosty skrypcik, dzięki któremu na twojej sygnie mogą widnieć informacje o liczbie postów, pochwał, linków, diamentów, poziomu, dni na forum. Oczywiście niektórych można się pozbyć, jak również dodać kolejne rzeczy jak np wyświetlenia.


Co nam potrzebne:

-nasze podstawowe tło (musi być w formacie .jpeg)
-serwer Apache obsługujący mod_rewrite, czyli to co odpowiada za automatyczne uzupełnianie tła o informacje z profilu
[code]http://odsiebie.com/pokaz/2193774---156e.html



PostWysłany: 14 Kwi 2009 23:20 Temat postu: Sygnatura z licznikiem Twoich postów, linków, pochwał itd. Odpowiedz z cytatem Zgłoś Post

Sygnatura z licznikiem Twoich postów, linków, pochwał itd.

Nadszedł czas na wydanie światu wszystkim tego skryptu.

Jest to prosty skrypcik, dzięki któremu na twojej sygnie mogą widnieć informacje o liczbie postów, pochwał, linków, diamentów, poziomu, dni na forum. Oczywiście niektórych można się pozbyć, jak również dodać kolejne rzeczy jak np wyświetlenia.


Co nam potrzebne:

-nasze podstawowe tło (musi być w formacie .jpeg)
-serwer Apache obsługujący mod_rewrite, czyli to co odpowiada za automatyczne uzupełnianie tła o informacje z profilu




Paczka:

Kod:
Kod
[url="http://odsiebie.com/pokaz/2193774---156e.html"]http://odsiebie.com/pokaz/2193774---156e.html[/url]



W paczce znajdują się wszystkie rzeczy, czyli:
-skrypt php
-tło 300 na 70
-plik HTACCESS, odpowiadający za aktywację mod_rewrite na danym pliku
-czcionka (w tym przypadku visitor)



Zawartość pliku ze skryptem:
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);
?>

(...) Tu zamieszczona była legenda, co zmienić aby wyświetlić dane swojego profilu i zmienić pozycję napisów.(...)
Zawartość pliku HTACCESS:
Kod
RewriteEngine On
RewriteRule ^sygna.jpg$ tet_sygna.php

To w skrócie wszystko. Nie przepisałem tylko legend i nie działającego już przykładu.

Ten post edytował Jaszczomb 28.06.2009, 20:46:39
Go to the top of the page
+Quote Post
maly_swd
post
Post #4





Grupa: Zarejestrowani
Postów: 744
Pomógł: 118
Dołączył: 14.02.2009
Skąd: poziome

Ostrzeżenie: (0%)
-----


Pewnie nie wypelnia, poniewaz struktura forum (pliku html) jest inna niz tego warezowego... i to co wyrazenia regularne chca pobrac nie ma..

Rozwiazanie: musisz pozmieniac wyrazenia regularne.

pozdrawiam


--------------------
śmieszne obrazki
Kryzys: Ser jem spleśniały, wino piję stare i samochód mam bez dachu..
Go to the top of the page
+Quote Post
shark121
post
Post #5





Grupa: Zarejestrowani
Postów: 62
Pomógł: 5
Dołączył: 31.03.2008

Ostrzeżenie: (0%)
-----


Żeby działało musiałbyś zmienić przykładowo
  1. <?php
  2. #wyciŚganie liczby postˇw
  3. preg_match('|<td valign="top"><span class="gen"><b>([0-9]{0,15})|', $zrodlo, $posty);
  4. ?>

na
  1. <?php
  2. #wyciŚganie liczby postˇw
  3. preg_match('|<td valign="top"><span class="genmed"><b>([0-9]{0,15})|', $zrodlo, $posty);
  4. ?>

itd. ponieważ jest trochę zmodyfikowana wersja phpbb na warezie tongue.gif
Go to the top of the page
+Quote Post
Jaszczomb
post
Post #6





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 28.06.2009

Ostrzeżenie: (0%)
-----


Wielkie dzięki. Możesz mi jeszcze napisać jak zmodyfikować linię z linkami i dniami na forum? Sam próbowałem i nie wyszło. Wszędzie wyświetlała się liczba postów. Nie znam się na php dobrze, znam tylko podstawowe rzeczy. Będę bardzo wdzięczny za przerobienie jeszcze tych 2 linii smile.gif
Go to the top of the page
+Quote Post
shark121
post
Post #7





Grupa: Zarejestrowani
Postów: 62
Pomógł: 5
Dołączył: 31.03.2008

Ostrzeżenie: (0%)
-----


Liczby linków nie wyciągniesz w żaden sposób, a dni na forum możesz spróbować tak:
  1. <?php
  2. #wyciąganie dni na forum
  3. preg_match('|<td width="100%"><b><span class="gen">|', $zrodlo, $dni);
  4. ?>
Go to the top of the page
+Quote Post
Jaszczomb
post
Post #8





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 28.06.2009

Ostrzeżenie: (0%)
-----


Dziękuję. Sprawdzę kiedy tylko serwis hostingowy, z którego korzystam zacznie działać jak należy.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 01:11