[PHP] Port Status

Despre programarea aplicațiilor web și nu numai, cu PHP, baze de date și altele.
Discutiile despre utilizarea si modificarea scripturilor se desfasoara in aria Webmaster.
Discuțiile despre proiectarea și optimizarea bazelor de date se desfășoară în aria Databases.
Avatar utilizator
wildramen
Nou Venit

Nou Venit
Mesaje: 43
Membru din: 24 Oct 2014, 18:27
Aprecieri: 0
Mulţumiri: 0
 Contact:
Medalii

Salutare, comunitate! Am avut niște proiecte prin afara forumurilor de Metin2 din România și am învățat niște chestii super tari în Web Programming, așa că de azi ( sau de acum ) o să încerc să ajut cum pot comunitatea cu scripturi făcute de mine de la 0 pe care le o să le împărtășesc în diferite thread-uri.

În continuare o să vă ofer o funcție PHP care vă permite să verificați dacă un port X este activ sau nu. În sensul mai larg, să verificăm dacă serverul este activ sau nu.

Mai jos aveți codul PHP pe care îl puneți într-un fișier. Vă recomand să faceți un folder separat pentru fișierele funcțiilor. Vă recomand de asemenea să numiți folderul "functions" sau "function" sau "func", sau whatever, în care să puneți fișierul PHP. La final, când veți pune fișierul PHP în folderul creat anterior, o să folosiți funcția "include();" ca să adăugați fișierul în partea de sus a paginii index.php.

Ca exemplu, o să folosesc numele fișierului checkIpAndPort.php și folderul va fi în același folder cu index.php și se va numi functions.

1. Codul următor îl puneți în checkIpAndPort.php.

Cod: Selectaţi tot

	function checkIPAndPort($ip, $port) 
	{
		$fsock = fsockopen($ip, $port, $errno, $errstr, 5);
		if (!$fsock) { return false; } else { return true; fclose($fsock); }
	}	
2. În fișierul index.php, în partea de sus a paginii, într-un tag <?php ?>, scrieți

Cod: Selectaţi tot

	include("functions/checkIpAndPort.php");
*Notă: ceea ce e numit la mine functions/checkIpAndPort.php din funcția include() poate fi orice locație, dar e important să fie de forma [FOLDER]/[NUME_FIȘIER].php.

3. Sintaxa pentru a vedea dacă un IP și Port sunt active, este următoarea:

Cod: Selectaţi tot

checkIPAndPort(IP_SERVER, PORT_SERVER);
Răspunsul pe care îl va da înapoi va fi TRUE sau FALSE ( true dacă e pornit portul pe IP sau false dacă nu e pornit).
Ca să îl integrăm, vom folosi următoarea structură:

3. Chiar sub include(), scrieți codul următor:

Cod: Selectaţi tot

$ip = "IP_SERVER";

$port_13000 = checkIPAndPort($ip, 13000);
$port_16000 = checkIPAndPort($ip, 16000);
ETC. Lista poate continua la infinit, iar variabilele $port_13000 și $port_16000 pot avea orice nume, e importat de ținut minte că ele vor ține minte dacă IP-ul și portul respectiv sunt deschise către web.

BONUS!

Dacă vreți să folosiți funcția următoare pentru a verifica dacă serverul este deschis și să afișați, folosiți structura următoare:

Cod: Selectaţi tot

$ip = "IP_SERVER";

$port_13000 = checkIPAndPort($ip, 13000); // aici, la fel, puteți face n variabile care să verifice n porturi

if($port_13000 == true) { echo "ONLINE"; } else { echo "OFFLINE"; }
Dacă portul 13000 este deschis, atunci va afișa ONLINE.

Cam atât, era mult mai mult de discutat, dar ăsta este esențialul. Dacă aveți probleme de instalare, nu insistați să publicați aici erorile sau să puneți întrebări sau să mă contactați la adresa web de la profil, unde veți găsi link-uri către toate site-urile de socializare.
PHP ușor!
Feel free to ask me anything about web programming (both backend and frontend).
Afișează semnătura
Avatar utilizator
MariusExygo
Fost Helper

Fost Helper
Mesaje: 2063
Membru din: 09 Mar 2014, 15:47
Server: WildFantasy
Regat: Jinno
Aprecieri: 156  
Mulţumiri: 226  
  Rezolvări prob.: 4
Discord: Copiază ID
 Contact:
Medalii

Chestiile astea sunt de cand lumea si pamantul, le gasesti prin diferite homepage-uri, dar mna bine ca l-ai postat la lume.

P.S: S-ar putea sa nu le mearga la toti treaba cu port-urile, stiu asta sigur.
Afișează semnătura
Avatar utilizator
wildramen
Nou Venit

Nou Venit
Mesaje: 43
Membru din: 24 Oct 2014, 18:27
Aprecieri: 0
Mulţumiri: 0
 Contact:
Medalii

Exygo scrie:Chestiile astea sunt de cand lumea si pamantul, le gasesti prin diferite homepage-uri, dar mna bine ca l-ai postat la lume.

P.S: S-ar putea sa nu le mearga la toti treaba cu port-urile, stiu asta sigur.
Sunt antice, însă nu sunt sub formă de funcție unde le poți scrie oriunde pe pagină dacă le ai, doar prin callback-ul funcției.
Feel free to ask me anything about web programming (both backend and frontend).
Afișează semnătura
Avatar utilizator
Stefann11321
Nivel 2

Nivel 2
Mesaje: 248
Membru din: 02 Sep 2015, 21:22
Server: wow-metin2.ro
Regat: Chunjo
Aprecieri: 0
Mulţumiri: 1  
Medalii

Acum aceste lucruri nu te mai ajuta la nimic ..
Imagine
Site Official: http://www.metin2king.ro
Forum: http://www.metin2king.ro/forum
--VA ASTEPTAM PE SERVERUL NOSTRU--
Afișează semnătura
Răspunde
Răspunsuri
11
Vizualizări
1055
Răspunsuri
4
Vizualizări
7317
Răspunsuri
7
Vizualizări
591
Răspunsuri
0
Vizualizări
2402

Înapoi la “Tutoriale scripting”

  • Informaţie
  • Cine este conectat

    Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 1 vizitator