Skocz do zawartości

  • Zaloguj korzystając z Facebooka Zaloguj korzystając z Twittera Zaloguj przez Steam Zaloguj poprzez Google      Logowanie »   
  • Rejestracja

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.

  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

Sockets - funkcja fgets z PHP


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
4 odpowiedzi w tym temacie

#1 SeeK

    Wszechobecny

  • Użytkownik

Reputacja: 190
Profesjonalista

  • Postów:437
Offline

Napisano 24.11.2013 19:20

Witam,

pisząc pewien plugin opierający się na zapytaniach poprzez sockety natknąłem się na pewien problem. Mianowicie chcę pobrać dane które zwraca pewien plik php umieszczony na jednej ze stron www. Dodam, iż nie mam możliwości edycji tego pliku. W PHP służy ku temu następujący kod:

$handle = fopen("http://xxx.pl/yyy.php?a=1&b=2", 'r');
$status = fgets($handle, 8);
Natomiast nie wiem za bardzo, jakie zapytanie powinienem wysłać przez sockety, aby móc pobrać te dane. Chwilowo omijam ten problem w taki sposób, iż stworzyłem u siebie na serwerze plik php, w którym wykonywany jest powyższy kod, a następnie wyświetlam zmienną $status za pomocą "echo". Plugin na serwerze za pomocą kodu:
format(sData, charsmax(sData),"GET /serwery_teksty/weryfikuj2.php HTTP/1.0^r^n")
format(sData, charsmax(sData), "%sHost: zzz.pl^r^n^r^n", sData)
socket_send(socket, sData, strlen(sData))
pobiera kod źródłowy strony i odczytuje sobie z niego potrzebne dane.
 
Aczkolwiek to jest tak trochę na około. Jak zrobić, aby plugin pobierał dane wprost z pliku: http://xxx.pl/yyy.php bez potrzeby wprowadzania dodatkowego pliku php na moim serwerze?

 


Użytkownik SeeK edytował ten post 24.11.2013 19:20

  • +
  • -
  • 0

http://sklep-sms.pl - sklep do gry Counter-Strike w którym dokonuje się zakupów bez wychodzenia z serwera!

 

Planeta-Skilla.pl - Zapraszam!  :)


#2 sebul

    Godlike

  • Junior Admin

Reputacja: 2016
Godlike

  • Postów:5411
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:Ostrołęka
Offline

Napisano 24.11.2013 20:21

Skoro w oryginalnym pliku, do którego chcesz się odwoływać, nie ma wyświetlania zmiennej $status za pomocą echo, to nie wydaje mi się, żebyś mógł ją pobrać z poziomu pluginu, bo niby jak, skoro ona nie jest wyświetlana?
  • +
  • -
  • 0
Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo
Generator tabeli expa - aż do 103600 poziomu

#3 SeeK

    Wszechobecny

  • Autor tematu
  • Użytkownik

Reputacja: 190
Profesjonalista

  • Postów:437
Offline

Napisano 24.11.2013 20:26

Nie zrozumiałeś o co mi chodzi. Chcę użyć w pluginie takiej funkcji jaką jest fgets w PHP
  • +
  • -
  • 0

http://sklep-sms.pl - sklep do gry Counter-Strike w którym dokonuje się zakupów bez wychodzenia z serwera!

 

Planeta-Skilla.pl - Zapraszam!  :)


#4 sebul

    Godlike

  • Junior Admin

Reputacja: 2016
Godlike

  • Postów:5411
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:Ostrołęka
Offline

Napisano 24.11.2013 20:31

Nie zrozumiałeś o co mi chodzi. Chcę użyć w pluginie takiej funkcji jaką jest fgets w PHP

No to chyba zrozumiałem, skoro tak. Nie wczytasz zawartości pliku php z jakiegoś tam serwera, jedynie możesz to zrobić jeśli plik znajduje się na Twoim serwerze gry, ale wtedy i tak nic nie będzie przypisywane do jakiejkolwiek zmiennej.
  • +
  • -
  • 0
Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo
Generator tabeli expa - aż do 103600 poziomu

#5 GwynBleidD

    Godlike

  • Administrator

Reputacja: 1849
Godlike

  • Postów:3066
  • Steam:steam
  • Lokalizacja:Przemyśl
Offline

Napisano 25.11.2013 18:58

Poczytaj sobie o protokole PHP to wiele Ci się rozjaśni :)

 

Ale taka mała zajawka ode mnie

1. Określamy najpierw IP serwera z którym chcemy się połączyć i się z nim łączymy, to chyba już wiesz (socket connect)

2. Wysyłamy nagłówki HTTP, które określają co chcemy dokładnie uzyskać. Używamy w tym przypadku metody GET, wraz ze ścieżką, w Twoim przypadku /yyy.php?a=1&b=2 i wraz z wersją protokołu HTTP (czyli to, co masz w 1 poście, jednak trzeba ścieżkę podmienić)

3. Podajemy jakiej domeny dotyczy nasze żądanie (w tym przypadku jest to Host: xxx.pl).

4. wysyłamy dodatkowe nagłówki, jeśli jakieś potrzebne

5. wysyłamy pustą linię, co oznacza koniec nagłówków. Tutaj mogą ewentualnie pójść dane POST, jeśli została wybrana odpowiednia metoda.


GwynBleidD (25.11.2013 19:02):
Więcej np tutaj: http://webhosting.pl...waniu.naglowkow

  • +
  • -
  • 0
NIE pomagam na PW. Nie trudź się, na zlecenia nie odpiszę... Od pomagania jest forum.
NIE zaglądam w tematy wysłane na PW. Jeśli są na forum to prędzej czy później je przeczytam. Jeśli mam co w nich odpisać, to odpiszę.
 
1988650.png?theme=dark




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych