Sobes.tech
Junior

PHP-də hansı şəbəkə funksiyaları mövcuddur?

sobes.tech Süni İntellekt

AI-dan cavab

PHP-də şəbəkə ilə işləmək üçün çox sayda şəbəkə funksiyaları mövcuddur. Ən çox istifadə olunanlar bunlardır:

  • "Soketlər" bölməsi (Sockets):
    • socket_create(): Soket yaradır.
    • socket_connect(): Uzaq host ilə əlaqə qurur.
    • socket_bind(): Soketi ünvan və porta bağlayır.
    • socket_listen(): Gələn əlaqələri dinləyir.
    • socket_accept(): Gələn əlaqəni qəbul edir.
    • socket_read(): Soketdən məlumat oxuyur.
    • socket_write(): Soketə məlumat yazır.
    • socket_close(): Soketi bağlayır.
    • socket_last_error(): Sonuncu səhv kodunu qaytarır.
    • socket_strerror(): Səhv haqqında mətn təsviri verir.
<?php
// Soket yaratmaq və əlaqə qurmaq nümunəsi
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($socket === false) {
    echo "socket_create() alınmadı: səbəb: " . socket_strerror(socket_last_error()) . "\n";
} else {
    echo "Soket yaradıldı.\n";
}

$result = socket_connect($socket, 'example.com', 80);
if ($result === false) {
    echo "socket_connect() alınmadı: səbəb: ($result) " . socket_strerror(socket_last_error($socket)) . "\n";
} else {
    echo "Əlaqə quruldu.\n";
}
socket_close($socket); // Soketi bağlama
?>
  • "URL" bölməsi:
    • file_get_contents(): Faylın məzmununu sətir kimi oxuyur (HTTP üçün istifadə oluna bilər).
    • file_put_contents(): Məlumatı fayla yazır (HTTP POST üçün istifadə oluna bilər).
    • get_headers(): HTTP cavab başlıqlarını qaytarır.
    • parse_url(): URL-i komponentlərə ayırır.
    • http_build_query(): Sorğu sətirini yaradır.
  • "DNS" bölməsi:
    • gethostbyname(): Hostun IPv4 ünvanını qaytarır.
    • gethostbyaddr(): IP ünvanı üçün host adını qaytarır.
    • getmxrr(): Domain üçün poçt mübadiləsi qeydlərini (MX) alır.
  • "cURL" bölməsi (cURL genişlənməsi tələb olunur): HTTP sorğuları üçün çoxfunksiyalı müştəri mexanizmi təqdim edir. Cookies, proxy, autentifikasiya və s. ilə işləmək üçün funksiyalar daxildir.
    • curl_init(): cURL sessiyasını başlatır.
    • curl_setopt(): cURL sessiyası üçün seçimləri təyin edir.
    • curl_exec(): cURL sessiyasını icra edir.
    • curl_close(): cURL sessiyasını bağlayır.
<?php
// cURL istifadə edərək səhifənin məzmununu alma nümunəsi
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "http://example.com/");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // Nəticəni sətir kimi qaytar

$output = curl_exec($ch);

if ($output === false) {
    echo "cURL xətası: " . curl_error($ch);
} else {
    echo $output;
}

curl_close($ch);
?>
  • "Stream" (axınlar) bölməsi: PHP Axınlar müxtəlif resurs tipləri üçün vahid interfeys təqdim edir, şəbəkə soketləri və HTTP daxil olmaqla.
    • stream_socket_client(): Müştəri şəbəkə əlaqəsini açır.
    • stream_socket_server(): Server şəbəkə əlaqəsini yaradır.
    • stream_select(): Bir çox axın üçün vəziyyət dəyişikliklərini gözləyir.
  • "FTP" bölməsi: FTP serverləri ilə işləmək üçün funksiyalar.
    • ftp_connect(): FTP serverinə qoşulur.
    • ftp_login(): FTP serverində daxil olur.
    • ftp_get(): FTP serverindən fayl yükləyir.
    • ftp_put(): Faylı FTP serverinə yükləyir.
  • "Mail" bölməsi: Elektron poçt göndərmək üçün funksiyalar.
    • mail(): Poçt göndərir.

Xüsusi funksiyanın seçimi vəzifədən asılıdır. Aşağı səviyyəli protokollar ilə işləmək üçün soketlər uyğundur. Sadə HTTP sorğuları üçün file_get_contents() və ya cURL istifadə oluna bilər. cURL daha çevik və güclüdür mürəkkəb HTTP əməliyyatları üçün. Axınlar şəbəkə əlaqələri üçün daha abstrakt yanaşma təmin edir.