Junior
Кадом функсияҳои шабака дар PHP вуҷуд доранд?
sobes.tech AI
Ҷавоб аз AI
Дар PHP бисёр функсияҳои шабака мавҷуданд, ки ҷиҳатҳои гуногуни кор бо шабакаҳоро фаро мегиранд. Беҳтарин истифодаи онҳоро инҳоянд:
- Боб "Сокетҳо" (
Sockets):socket_create(): Сокет месозад.socket_connect(): Воситаи пайвастшавӣ бо ҳост дар масофа.socket_bind(): Сокетро ба суроға ва порти пайваст мекунад.socket_listen(): Ба пайвастҳои воридотӣ гӯш мекунад.socket_accept(): Пайвастро қабул мекунад.socket_read(): Маълумотҳоро аз сокет мехонад.socket_write(): Маълумотҳоро ба сокет менависад.socket_close(): Сокетро мебандад.socket_last_error(): Кодекси охирини хатоии сокетро бармегардонад.socket_strerror(): Тавсифи матнии хатоии сокетро бармегардонад.
<?php
// Намунаи сохтани ва пайвастшавӣ ба сокет
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($socket === false) {
echo "socket_create() натавонист: сабаб: " . socket_strerror(socket_last_error()) . "\n";
} else {
echo "Сокет сохта шуд.\n";
}
$result = socket_connect($socket, 'example.com', 80);
if ($result === false) {
echo "socket_connect() натавонист: сабаб: " . socket_strerror(socket_last_error($socket)) . "\n";
} else {
echo "Пайвастшавӣ барқарор шуд.\n";
}
socket_close($socket); // Баста кардани сокет
?>
- Боб "URL":
file_get_contents(): Мазмуни файлро ба сатр мехонад (мумкин аст барои HTTP истифода шавад).file_put_contents(): Маълумотҳоро ба файл менависад (мумкин аст барои HTTP POST истифода шавад).get_headers(): Сарлавҳаҳои ҷавоби HTTP-ро бармегардонад.parse_url(): URL-ро ба компонентҳо тақсим мекунад.http_build_query(): Сатрро барои дархост тайёр мекунад.
- Боб "DNS":
gethostbyname(): Суроғаи IPv4-и ҳостро бармегардонад.gethostbyaddr(): Номи ҳостро барои суроғаи IP бармегардонад.getmxrr(): Рекордҳои мубодилаи почта (MX) барои домейнро мегирад.
- Боб "cURL" (талаб ба васеъкунии cURL): Механизми бисфунксионалӣ барои иҷрои дархостҳои HTTP. Функсияҳо барои кор бо cookies, proxy, аутентификация ва ғайра дохил мешаванд.
curl_init(): Сессияи cURL-ро оғоз мекунад.curl_setopt(): Варақаҳоро барои cURL танзим мекунад.curl_exec(): Сессияро иҷро мекунад.curl_close(): Сессияро мебандад.
<?php
// Намунаи истифодаи cURL барои гирифтани мазмуни саҳифа
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://example.com/");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // Натиҷаро ҳамчун сатр бармегардонад
$output = curl_exec($ch);
if ($output === false) {
echo "Хатои cURL: " . curl_error($ch);
} else {
echo $output;
}
curl_close($ch);
?>
- Боб "Stream" (рӯйхатҳо): PHP Streams интерфейси ягона барои намудҳои гуногуни захираҳо, аз ҷумла сокетҳои шабакавӣ ва HTTP-ро таъмин мекунад.
stream_socket_client(): Пайвасти мизоҷи шабакавиро мекушояд.stream_socket_server(): Пайвасти сервериро месозад.stream_select(): Барои тағйирот дар ҳолат дар чанд рӯйхат интизор мешавад.
- Боб "FTP": Функсияҳо барои кор бо серверҳои FTP.
ftp_connect(): Пайвастшавӣ ба сервери FTP.ftp_login(): Воридшавӣ ба сервери FTP.ftp_get(): Файлро аз сервери FTP боргирӣ мекунад.ftp_put(): Файлро ба сервери FTP бор мекунад.
- Боб "Mail": Функсияҳо барои фиристодани почтаи электронӣ.
mail(): Писаро мефиристад.
Интихоби функсияи мушаххас аз вазифа вобаста аст. Барои кор бо протоколҳои пасти сатҳ сокетҳо мувофиқанд. Барои дархостҳои оддӣ HTTP метавон истифода бурд file_get_contents() ё cURL. cURL бештар флексибл ва қувватманд барои амалиётҳои мураккабтар бо HTTP мебошад. Рӯйхатҳо ба корбарии шабакаи мураккабтар кӯмак мерасонанд.