Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Pomoc z graphicdraw
Forum PHP.pl > Forum > PHP
SSB
Witam! Mam problem. Wpisałem takie cuś w php:

  1. <?
  2.  
  3. $zrodlo = file_get_contents('http://windstarmania.pl/stat/index.php');
  4.  
  5. #wyciagniecie nazwy
  6. preg_match('|[hostname] => |', 'a-z', $zrodlo, $posty);
  7.  
  8.  
  9. $obrazek=imagecreatefromjpeg('status.jpg');
  10.  
  11. $kolor=ImageColorAllocate($obrazek,255, 255, 255); //definiuje kolor
  12.  
  13. ImageTTFText($obrazek,10,0,225,1,$kolor,'visitor2.ttf',$posty[1].''); //wypisuje text [wielkoťŠ, nachylenie, po-oŹenie]
  14.  
  15. Header("Content-type: image/jpeg");
  16. ImageJpeg($obrazek,NULL,100);
  17. ImageDestroy($obrazek);
  18. ?>


Oto efekt:
http://windstarmania.pl/tet_sygna.php

Nie ma nigdzie tego hostname. Proszę o pomoc, co zrobić aby wzięło się i zrboiło.
Pozdro
Kshyhoo
Nie znamy funkcji hostname
SSB
To nie funkcja, lecz zawartość na stronie. Chodzi mi o to żeby na obrazku pokazało to co jest za tym:
[hostname] =>
A nie wyciąga.
Kshyhoo
Oto przykład:
  1. $string = '<a href="http://www.google.com">google</a>"
  2. $pattern = '`.*?((http|ftp)://[\w#$&+,\/:;=?@.-]+)[^\w#$&+,\/:;=?@.-]*?`i';
  3. preg_match($pattern,$string,$matches);
  4. echo $matches[1];


zwrócony zostanie nam ciąg znaków:
http://www.google.com
SSB
A mi chodzi o to, żeby wzięło to co jest za [hostname] =>
a nie konkretnie [hostname] =>
I nie rozumiem tego zapytania.... tzn tych całych stringów.
gcdreak
1. Wklej kawałek treści strony z której to chcesz wyciągnąć.

2. Potem możesz odciąć początek za pomocą substr()

SSB
Nie, nie zrozumieliśćie mnie.
Tam się dane zmieniają, np mapa się zmienia. I nie mam jak odciąć tylu znaków, bo po prostu nei wyłapie mi tego tekstu.
gcdreak
nie chodzi o to żebyś wycinał to co Ci wytnie wyrażenie regularne tylko to co masz przed wyrażeniem regularnym
SSB
Witam.
Niedziała - oto link.
http://windstarmania.pl/tet_sygna.php
A to kod:
  1. <?
  2.  
  3. $zrodlo = file_get_contents('http://windstarmania.pl/stat/index.php');
  4.  
  5. $string = '[hostname] =>"
  6. $pattern = '#$&+,\/:;=?@.-]+)[^\w#$&+,\/:;=?@.-]*?`i';
  7. preg_match($pattern,$string,$matches);
  8. echo $matches[1];
  9.  
  10.  
  11. $obrazek=imagecreatefromjpeg('status.jpg');
  12.  
  13. $kolor=ImageColorAllocate($obrazek,255, 255, 255); //definiuje kolor
  14.  
  15. ImageTTFText($obrazek,10,0,225,1,$kolor,'visitor2.ttf',$matches[1].''); //wypisuje text [wielkoťŠ, nachylenie, po-oŹenie]
  16.  
  17. Header("Content-type: image/jpeg");
  18. ImageJpeg($obrazek,NULL,100);
  19. ImageDestroy($obrazek);
  20. ?>
Kshyhoo
Może napisz dokładniej, co chcesz osiągnąć, jakie dane chcesz wyświetlić.
altruista2
Ja nie lubie funkcji preg_match itd. Zrobiłbym to inaczej:

  1. $tmp = explode('[hostname] => ',file_get_contents('http://windstarmania.pl/stat/index.php'));
  2. $tmp = explode("\n",$tmp[1]);
  3.  
  4. $twoj_hostname = $tmp[0];
  5. unset($tmp);


Tyle.

Widzę że bawisz się w CS-a, ja prowadzę stronę www.gamesbnet.com i mam tam status serwera CS 1.5 (tak! CS 1.5) jeśli chcesz zrobić porządnie to co zamierzasz napisz do mnie na PW albo możemy rozwiązać sprawę na łamach niniejszego forum.

Jeśli chciałbyś sam się pobawić to ściągnij sobie PsychoStats, gdzie są gotowe klasy do monitorowania serwerów Counter-Strike'a i przeglądnij źródła.

Tu masz fajną klasę PHP -
http://www.gamesbnet.com/trash/monitorowanie-serwera-cs.zip

Jeśli będziesz miał problemy pisz.
Dodam jeszcze że czasami niektórzy providerzy blokują porty wszystkie inne niż 80 (czyli HTTP), dlatego jeśli skrypt nie będzie Ci działał warto napisać do admina.

Dodatkowe linki:
http://www.psychostats.com/
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.