Omrežne funkcije nam omogočajo interakcijo z internetnimi protokoli. Z njimi lahko beremo vsebino oddaljenih strani, pošiljamo e-pošto ali celo ustvarimo lastne mini strežnike s pomočjo vtičnic (sockets).
PHP podpira nizkonivojsko programiranje s socket-i. Spodnji primer prikazuje logiko strežnika, ki posluša na
določenih vratih. Opozorilo: Večina deljenih gostovanj blokira funkcijo socket_create zaradi varnosti.
Te primere je najbolje testirati na lokalnem strežniku (XAMPP) ali VPS-u.
file_get_contents za zunanje URL-je za boljšo
obdelavo napak.Omrežno programiranje v PHP omogoča ustvarjanje robustnih aplikacij, ki komunicirajo z drugimi storitvami in API-ji.
Te funkcije so del PHP jedra in omogočajo manipulacijo z informacijami, preden strežnik pošlje izhod brskalniku. Ni potrebna dodatna namestitev.
| Funkcija | Opis | Primer |
|---|---|---|
checkdnsrr() |
Preveri zapise DNS za vrsto, ki ustreza gostitelju. | echo checkdnsrr("google.com", "MX") ? "Obstaja" : "Ne obstaja"; |
closelog() |
Zapre povezavo sistemskega zapisovalnika. | openlog("myApp", LOG_PID, LOG_USER); syslog(LOG_INFO, "Test"); closelog(); |
dns_check_record() |
Preveri DNS zapise za vrsto, ki ustreza gostitelju. | echo dns_check_record("google.com", "A") ? "Najden" : "Ni najden"; |
dns_get_mx() |
Vrne MX zapise za navedeno ime gostitelja. | dns_get_mx("google.com", $mx_hosts);
print_自由_r($mx_hosts); (Opomba: v kodi uporabi print_r) |
dns_get_record() |
Pridobi zapise DNS virov za ime gostitelja. | $dns = dns_get_record("google.com", DNS_A); print_r($dns[0]); |
fsockopen() |
Odpre povezavo internetne ali Unix vtičnice. | $fp = @fsockopen("www.google.com", 80, $errno, $errstr, 5); echo $fp ? "Odprto" : "Zaprto"; |
gethostbyaddr() |
Vrne ime domene za dani IP naslov. | echo gethostbyaddr("8.8.8.8"); // Izpiše: dns.google |
gethostbyname() |
Vrne IPv4 naslov za dano ime domene. | echo gethostbyname("google.com"); // Izpiše IP naslov |
gethostbynamel() |
Vrne seznam naslovov IPv4 za ime domene. | $ips = gethostbynamel("google.com"); print_r($ips); |
gethostname() |
Vrne ime gostitelja. | echo gethostname(); // Izpiše ime trenutnega strežnika |
getmxrr() |
Vrne MX zapise za internetnega gostitelja. | getmxrr("google.com", $mx); echo "Najdenih MX: " . count($mx); |
getprotobyname() |
Vrne številko protokola za podano ime. | echo getprotobyname("tcp"); // Izpiše: 6 |
getprotobynumber() |
Vrne ime protokola za dano številko. | echo getprotobynumber(6); // Izpiše: tcp |
getservbyname() |
Vrne številko vrat za internetno storitev. | echo getservbyname("www", "tcp"); // Izpiše: 80 |
getservbyport() |
Vrne internetno storitev za dana vrata. | echo getservbyport(80, "tcp"); // Izpiše: http |
header() |
Pošlje neobdelano glavo HTTP odjemalcu. | header("Content-Type: text/plain"); // Nastavi tekstovni izpis |
header_register_callback() |
Pokliče funkcijo glave. | header_register_callback(function(){ echo "Glave poslane!"; }); |
header_remove() |
Odstrani HTTP glavo nastavljeno s header(). | header("X-Test: Resnica"); header_remove("X-Test"); |
headers_list() |
Vrne seznam glav odgovorov za brskalnik. | $glave = headers_list(); print_r($glave); |
headers_sent() |
Preveri, če ali kam so bile glave poslane. | echo headers_sent() ? "Glave so že šle" : "Glave še čakajo"; |
http_response_code() |
Nastavi ali vrne statusno kodo HTTP odziva. | echo http_response_code(404); // Nastavi kodo na 404 Not Found |
inet_ntop() |
Pretvori IP naslove v berljivo obliko. | echo inet_ntop(chr(127).chr(0).chr(0).chr(1)); // Izpiše: 127.0.0.1 |
inet_pton() |
Pretvori berljiv IP naslov v binarno obliko. | echo bin2hex(inet_pton("127.0.0.1")); // Izpiše binarni hex |
ip2long() |
Pretvori IPv4 naslov v celo število. | echo ip2long("127.0.0.1"); // Izpiše: 2130706433 |
long2ip() |
Pretvori celo število v IPv4 format. | echo long2ip(2130706433); // Izpiše: 127.0.0.1 |
openlog() |
Odpre povezavo sistemskega zapisovalnika. | openlog("Sistem_Borut", LOG_PID, LOG_USER); syslog(LOG_NOTICE, "Zagon"); |
pfsockopen() |
Odpre trajno povezavo internetne vtičnice. | $fp = @pfsockopen("localhost", 80); echo $fp ? "Trajno odprto" : "Ni povezave"; |
setcookie() |
Definira piškotek za HTTP glave. | setcookie("uporabnik", "Borut", time() + 3600); // Velja 1 uro |
socket_get_status() |
Preverja stanje I/O toka vtičnice. | $fp = fsockopen("google.com", 80); print_r(socket_get_status($fp)); |
socket_set_blocking() |
Nastavi blokiran/neblokiran način vtičnice. | $fp = fsockopen("google.com", 80); socket_set_blocking($fp, false); |
stream_get_meta_data() |
Vrne informacij o pretoku/vtičnici (status, timeout, EOF). | $fp = fsockopen("google.com", 80); print_r(stream_get_meta_data($fp)); |
syslog() |
Ustvari sporočilo sistemskega dnevnika. | syslog(LOG_WARNING, "Opozorilo: Zaznana preobremenitev sistema!"); |