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.