Junior
Millised võrgufunktsioonid on PHP-s olemas?
sobes.tech AI
Vastus AI-lt
PHP-s on palju võrgufunktsioone, mis hõlmavad erinevaid võrguga seotud aspekte. Kõige sagedamini kasutatavad on:
- "Sokettide" jaotis (
Sockets):socket_create(): loob soketi.socket_connect(): loob ühenduse kaughostiga.socket_bind(): seob soketi aadressi ja pordiga.socket_listen(): kuulab sissetulevaid ühendusi.socket_accept(): aktsepteerib sissetulevat ühendust.socket_read(): loeb andmeid soketist.socket_write(): kirjutab andmeid soketisse.socket_close(): sulgeb soketi.socket_last_error(): tagastab viimase vea koodi.socket_strerror(): tagastab vea kirjelduse stringina.
// Näide, kuidas luua ja ühendada soket
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($socket === false) {
echo "socket_create() ebaõnnestus: põhjus: " . socket_strerror(socket_last_error()) . "\n";
} else {
echo "Sokett on loodud.\n";
}
$result = socket_connect($socket, 'example.com', 80);
if ($result === false) {
echo "socket_connect() ebaõnnestus: põhjus: ($result) " . socket_strerror(socket_last_error($socket)) . "\n";
} else {
echo "Ühendus on loodud.\n";
}
socket_close($socket); // Sulgeb soketi
?>
- "URL" jaotis:
file_get_contents(): loeb faili sisu stringina (saab kasutada HTTP jaoks).file_put_contents(): kirjutab andmeid faili (saab kasutada HTTP POST jaoks).get_headers(): tagastab HTTP vastuse päised.parse_url(): analüüsib URL-i komponentideks.http_build_query(): genereerib päringu stringi.
- "DNS" jaotis:
gethostbyname(): tagastab hosti IPv4 aadressi.gethostbyaddr(): tagastab IP-aadressi hosti nime.getmxrr(): saab e-posti vahetamise kirjeid (MX) domeeni jaoks.
- "cURL" (nõuab cURL laiendust): pakub mitmeotstarbelist klientmehhanismi HTTP-päringuteks. sisaldab funktsioone küpsiste, proxy, autentimise jms jaoks.
curl_init(): initsialiseerib cURL-i sessiooni.curl_setopt(): seab seadeid cURL-i sessioonile.curl_exec(): täidab cURL-i sessiooni.curl_close(): sulgeb cURL-i sessiooni.
// Näide cURL-i kasutamisest lehekülje sisu saamiseks
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://example.com/");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // tagastab tulemuse stringina
$output = curl_exec($ch);
if ($output === false) {
echo "cURL viga: " . curl_error($ch);
} else {
echo $output;
}
curl_close($ch);
?>
- "Stream" (voog): PHP voogud pakuvad ühtset liidest erinevat tüüpi ressurssidele, sealhulgas võrgusoketid ja HTTP.
stream_socket_client(): avab kliendi võrguside.stream_socket_server(): loob serveri võrguside.stream_select(): ootab muutusi mitmel voogudel.
- "FTP" jaotis: funktsioonid FTP-serveritega töötamiseks.
ftp_connect(): loob ühenduse FTP-serveriga.ftp_login(): autentib FTP-serveris.ftp_get(): laadib faili FTP-serverist.ftp_put(): laadib faili FTP-serverisse.
- "Mail" jaotis: funktsioonid e-kirjade saatmiseks.
mail(): saadab kirja.
Valik sõltub ülesandest. Madala taseme protokollide jaoks sobivad soketid. Lihtsate HTTP-päringute jaoks saab kasutada file_get_contents() või cURL-i. cURL on paindlikum ja võimsam keerukate HTTP-operatsioonide jaoks. Voogud pakuvad abstraktsemat lähenemist võrguside kommunikatsioonile.