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.