Pagina de start a forumului ©║º•DarkZone•º║® ©║º•DarkZone•º║®
Powered by • iLLuSioN •
 
 FAQFAQ   CăutareCăutare   MembriMembri   GrupuriGrupuri   ÎnregistrareÎnregistrare 
 ProfilProfil   Mesaje privateMesaje private   AutentificareAutentificare 

[PHP]Functiile de retea PHP

 
Crează un subiect nou   Răspunde la subiect    Pagina de start a forumului ©║º•DarkZone•º║® -> Web Design
Subiectul anterior :: Subiectul următor  
Autor Mesaj
m|nu
Vizitator





MesajTrimis: Lun Dec 24, 2007 2:23 am    Titlul subiectului: [PHP]Functiile de retea PHP Răspunde cu citat (quote)

Testele au fost efectuate intr-o retea locala, majoritatea calculatoarelor fiind Pentium III si Pentium IV, ruland sub Windows. Exista si un calculator Linux (server-ul de Internet). IP-urile sunt alocate static in domeniul 192.168.168.x.

Pentru testele descrise in acest articol a fost utilizat un Pentium III, cu memoria interna 256 Mo, discul dur de 20 Go, frecventa de lucru de 1000 MHz, sistemul de operare Windows 2000 Professional, plus server-ul de Web Microsoft IIS, avand numele FORUM.

Programele au fost scrise in limbajul PHP, au fost stocate pe server in directorul TEST, fiind lansate in executie de pe orice alt calculator din retea, tastand urmatoarea adresa in Internet Explorer: http://forum/test/program.php

Fie urmatorul program PHP:

Quote
<ph>0)
{
$pozitie = strrpos($ip,'.');
if ($pozitie === false)
{
// nu exista punct in adresa IP!
}
else
{
$retea=substr($ip,0,$pozitie);
echo 'Adresa de retea este '.$retea.'<br>';
$lim_inf = 1; // limita inferioara
$lim_sup = 254; // limita superioara
echo 'Se scaneaza intervalul ['.$retea.'.'.$lim_inf.', '.$retea.'.'.$lim_sup.']'.'<br>';
$gasite = 0;
for($indice=$lim_inf;$indice<lim_sup>

Explicatiile sunt extrase din Manualul PHP (http://www.php.net/manual/en/).

$_SERVER este un masiv (tablou) asociativ care contine informatii diverse furnizate de server-ul Web. Nu exista nici o garantie ca fiecare server Web furnizeaza astfel de informatii. Server-ele Web pot omite unele din informatii, in timp ce vor furniza altele (necunoscute). Masivul $_SERVER este ,,superglobal'', adica o variabila globala in mod automat. NU este necesar ca variabila $_SERVER sa fie declarata ca fiind globala. Variabila $HTTP_SERVER_VARS contine aceleasi informatii, dar nu este globala in mod automat! Variabilele $_SERVER si $HTTP_SERVER_VARS sunt doua variabile diferite, chiar daca ambele contin aceleasi informatii.

Variabila $_SERVER['REMOTE_ADDR'] reprezinta adresa IP a clientului (de exemplu, 192.168.168.39). Presupunand masca de retea 255.255.255.0, rezulta ca adresa retelei va fi 192.168.168. Asta inseamna ca adresele IP ale calculatoarelor din reteaua locala se vor afla in intervalul [192.168.168.1, 192.168.168.254]. Au fost omise adresele 192.168.168.0 (reteaua in totalitatea ei, NETWORK) si 192.168.168.255 (toate calculatoarele din retea, BROADCAST).

Exemplu:

Quote
$ip = $_SERVER['REMOTE_ADDR']; // adresa clientului

Functia predefinita GETHOSTBYADDR permite aflarea numelui unui calculator pe baza adresei IP cunoscute. De exemplu, in reteaua de mai sus, adresei 192.168.168.40 ii corespunde numele FORUM, iar adresei 192.168.168.39 ii corespunde numele BRIO.

Exemplu:

Quote
$gazda = gethostbyaddr($ip);

In caz de esec (gazda negasita), functia GETHOSTBYADDR returneaza IP-ul argument, in loc de numele gazdei.

Exemplu:

Quote
if($gazda==$ip)
{
// esec
}

Recunosc ca sunt incepator in PHP. Am scris acest articol ca un exemplu pentru ceilalti incepatori si ca un subiect de discutii (provocare) pentru cei avansati. Am doua intrebari:
1. de ce merge groaznic de incet?
2. cunoasteti alte functii PHP pentru inspectarea retelei?
Sus
Afișează mesajele pentru a le previzualiza:   
Crează un subiect nou   Răspunde la subiect    Pagina de start a forumului ©║º•DarkZone•º║® -> Web Design Ora este GMT + 3 ore
Pagina 1 din 1

 
Mergi direct la:  
Nu puteți crea un subiect nou în acest forum
Nu puteți răspunde în subiectele acestui forum
Nu puteți modifica mesajele proprii din acest forum
Nu puteți șterge mesajele proprii din acest forum
Nu puteți vota în chestionarele din acest forum


Powered by phpBB © 2001, 2005 phpBB Group
Varianta în limba română: Romanian phpBB online community