Sobes.tech
Junior

PHPda qanday tarmoq funksiyalari mavjud?

sobes.tech AI

AIdan javob

PHPda tarmoq bilan ishlashning turli jihatlarini qamrab oladigan ko'plab tarmoq funksiyalari mavjud. Eng ko'p ishlatiladiganlar quyidagilardir:

  • "Soketlar" bo'limi (Sockets) :
    • socket_create(): Soket yaratadi.
    • socket_connect(): Uzoqdagi host bilan ulanish o'rnatadi.
    • socket_bind(): Soketni manzil va portga bog'laydi.
    • socket_listen(): Soketda kiruvchi ulanishlarni tinglaydi.
    • socket_accept(): Kiruvchi ulanishni qabul qiladi.
    • socket_read(): Soketdan ma'lumot o'qiydi.
    • socket_write(): Soketga ma'lumot yozadi.
    • socket_close(): Soketni yopadi.
    • socket_last_error(): Soketning oxirgi xato kodini qaytaradi.
    • socket_strerror(): Soket xatosining satr shaklidagi tavsifini qaytaradi.
<?php
// Soket yaratish va ulanish misoli
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($socket === false) {
    echo "socket_create() muvaffaqiyatsiz bo'ldi: sabab: " . socket_strerror(socket_last_error()) . "\n";
} else {
    echo "Soket yaratildi.\n";
}

$result = socket_connect($socket, 'example.com', 80);
if ($result === false) {
    echo "socket_connect() muvaffaqiyatsiz bo'ldi: sabab: ($result) " . socket_strerror(socket_last_error($socket)) . "\n";
} else {
    echo "Ulanish o'rnatildi.\n";
}
socket_close($socket); // Soketni yopish
?>
  • URL bo'limi :
    • file_get_contents(): Fayl mazmunini satrga o'qiydi (HTTP uchun ishlatilishi mumkin).
    • file_put_contents(): Ma'lumotlarni faylga yozadi (HTTP POST uchun ishlatilishi mumkin).
    • get_headers(): HTTP javob sarlavhalarini qaytaradi.
    • parse_url(): URLni komponentlarga ajratadi.
    • http_build_query(): so'rov satrini yaratadi.
  • DNS bo'limi :
    • gethostbyname(): Hostning IPv4 manzilini qaytaradi.
    • gethostbyaddr(): IP manzil uchun host nomini qaytaradi.
    • getmxrr(): Domen uchun MX (pochta almashinuvi) yozuvlarini oladi.
  • cURL bo'limi (cURL kengaytmasi talab qilinadi): HTTP so'rovlarini bajarish uchun ko'p funktsiyali mijoz mexanizmini taqdim etadi. Cookies, proksi, autentifikatsiya va boshqalar bilan ishlash uchun funksiyalarni o'z ichiga oladi.
    • curl_init(): cURL sessiyasini boshlaydi.
    • curl_setopt(): cURL sessiyasi uchun opsiyalarni o'rnatadi.
    • curl_exec(): cURL sessiyasini bajaradi.
    • curl_close(): cURL sessiyasini yopadi.
<?php
// Sahifa mazmunini olish uchun cURL misoli
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "http://example.com/");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // Natijani satr sifatida qaytarish

$output = curl_exec($ch);

if ($output === false) {
    echo "cURL xatosi: " . curl_error($ch);
} else {
    echo $output;
}

curl_close($ch);
?>
  • Stream bo'limi ( oqimlar ): PHP oqimlari tarmoq soketlari va HTTP kabi turli xil resurs turlariga yagona interfeys taqdim etadi.
    • stream_socket_client(): Mijoz tarmoq ulanishini ochadi.
    • stream_socket_server(): Server tarmoq ulanishini yaratadi.
    • stream_select(): Bir nechta oqimlarning holatidagi o'zgarishlarni kutadi.
  • FTP bo'limi : FTP serverlari bilan ishlash uchun funksiyalar.
    • ftp_connect(): FTP serveriga ulanish o'rnatadi.
    • ftp_login(): FTP serveriga kirishni amalga oshiradi.
    • ftp_get(): FTP serveridan faylni yuklab oladi.
    • ftp_put(): Faylni FTP serveriga yuklaydi.
  • Mail bo'limi : Elektron pochta yuborish uchun funksiyalar.
    • mail(): Xabar yuboradi.

Maxsus funktsiyani tanlash vazifaga bog'liq. Protokollar bilan pastki darajadagi ishlash uchun soketlar tavsiya etiladi. Oddiy HTTP so'rovlar uchun file_get_contents() yoki cURL ishlatish mumkin. cURL ko'proq moslashuvchan va kuchliroq bo'lib, murakkab HTTP operatsiyalari uchun qulay. Oqimlar tarmoq aloqalari uchun yanada abstrakt yondashuvni taqdim etadi.