Sobes.tech
Junior

Kādas tīkla funkcijas ir PHP?

sobes.tech AI

Atbilde no AI

PHP ir ir daudz tīkla funkciju, kas aptver dažādus tīkla darbības aspektus. Visbiežāk lietotās ir:

  • "Soketu" sadaļa (Sockets):
    • socket_create(): izveido soketu.
    • socket_connect(): izveido savienojumu ar attālinātu hostu.
    • socket_bind(): piesaista soketu adresei un portam.
    • socket_listen(): klausās ienākošos savienojumus.
    • socket_accept(): pieņem ienākošo savienojumu.
    • socket_read(): lasa datus no soketa.
    • socket_write(): raksta datus uz soketa.
    • socket_close(): aizver soketu.
    • socket_last_error(): atgriež pēdējo kļūdas kodu.
    • socket_strerror(): atgriež kļūdas aprakstu tekstā.
// Piemērs, kā izveidot un pieslēgt soketu
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($socket === false) {
    echo "socket_create() neizdevās: iemesls: " . socket_strerror(socket_last_error()) . "\n";
} else {
    echo "Sokets izveidots.\n";
}

$result = socket_connect($socket, 'example.com', 80);
if ($result === false) {
    echo "socket_connect() neizdevās: iemesls: ($result) " . socket_strerror(socket_last_error($socket)) . "\n";
} else {
    echo "Savienojums izveidots.\n";
}
socket_close($socket); // Aizver soketu
?>
  • "URL" sadaļa:
    • file_get_contents(): lasa faila saturu virknes formā (var izmantot HTTP).
    • file_put_contents(): raksta datus failā (var izmantot HTTP POST).
    • get_headers(): atgriež HTTP atbildes galvenes.
    • parse_url(): analizē URL komponentos.
    • http_build_query(): ģenerē pieprasījuma virkni.
  • "DNS" sadaļa:
    • gethostbyname(): atgriež hosta IPv4 adresi.
    • gethostbyaddr(): atgriež IP adreses hosta nosaukumu.
    • getmxrr(): iegūst pasta apmaiņas ierakstus (MX) domēnam.
  • "cURL" (prasa cURL paplašinājumu): nodrošina daudzfunkcionālu klienta mehānismu HTTP pieprasījumiem. ietver funkcijas sīkdatnēm, proxy, autentifikācijai un tml.
    • curl_init(): inicializē cURL sesiju.
    • curl_setopt(): nosaka opcijas cURL sesijai.
    • curl_exec(): izpilda cURL sesiju.
    • curl_close(): aizver cURL sesiju.
// Piemērs, kā izmantot cURL, lai iegūtu lapas saturu
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "http://example.com/");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // atgriezt rezultātu kā virkni

$output = curl_exec($ch);

if ($output === false) {
    echo "cURL kļūda: " . curl_error($ch);
} else {
    echo $output;
}

curl_close($ch);
?>
  • "Stream" (straumes): PHP straumes nodrošina vienotu interfeisu dažādiem resursiem, tostarp tīkla soketiem un HTTP.
    • stream_socket_client(): atver klienta tīkla savienojumu.
    • stream_socket_server(): izveido servera tīkla savienojumu.
    • stream_select(): gaida statusa izmaiņas vairākās straumēs.
  • "FTP" sadaļa: funkcijas darbam ar FTP serveriem.
    • ftp_connect(): izveido savienojumu ar FTP serveri.
    • ftp_login(): autentificējas ar FTP serveri.
    • ftp_get(): lejupielādē failu no FTP servera.
    • ftp_put(): augšupielādē failu uz FTP serveri.
  • "Mail" sadaļa: funkcijas e-pasta sūtīšanai.
    • mail(): sūta vēstuli.

Konkrētas funkcijas izvēle ir atkarīga no uzdevuma. Zema līmeņa protokoliem piemēro soketus. Vienkāršiem HTTP pieprasījumiem var izmantot file_get_contents() vai cURL. cURL ir elastīgāks un jaudīgāks sarežģītām HTTP operācijām. Straumes nodrošina abstraktāku pieeju tīkla komunikācijai.