Junior
PHP'de hangi ağ fonksiyonları vardır?
sobes.tech yapay zeka
AI'dan gelen yanıt
PHP'de, ağ ile çalışma ile ilgili çeşitli yönleri kapsayan birçok ağ fonksiyonu vardır. En sık kullanılanlar şunlardır:
- "Soketler" bölümü (
Sockets) :socket_create(): Bir soket oluşturur.socket_connect(): Uzak bir ana makineye bağlantı kurar.socket_bind(): Soketi bir adrese ve porta bağlar.socket_listen(): Sokette gelen bağlantıları dinler.socket_accept(): Gelen bağlantıyı kabul eder.socket_read(): Soketten veri okur.socket_write(): Sokete veri yazar.socket_close(): Soketi kapatır.socket_last_error(): Soketin son hata kodunu döndürür.socket_strerror(): Soketin hata açıklamasını dize olarak döndürür.
<?php
// Bir soket oluşturma ve bağlanma örneği
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($socket === false) {
echo "socket_create() başarısız oldu: neden: " . socket_strerror(socket_last_error()) . "\n";
} else {
echo "Soket oluşturuldu.\n";
}
$result = socket_connect($socket, 'example.com', 80);
if ($result === false) {
echo "socket_connect() başarısız oldu: neden: ($result) " . socket_strerror(socket_last_error($socket)) . "\n";
} else {
echo "Bağlantı kuruldu.\n";
}
socket_close($socket); // Soketi kapat
?>
- "URL" bölümü :
file_get_contents(): Bir dosyanın içeriğini bir dizeye okur (HTTP için kullanılabilir).file_put_contents(): Bir dosyaya veri yazar (HTTP POST için kullanılabilir).get_headers(): HTTP yanıt başlıklarını döndürür.parse_url(): Bir URL'yi bileşenlerine ayırır.http_build_query(): Sorgu dizesi oluşturur.
- "DNS" bölümü :
gethostbyname(): Ana makinenin IPv4 adresini döndürür.gethostbyaddr(): IP adresi için ana makine adını döndürür.getmxrr(): Bir alan adı için MX (posta değişimi) kayıtlarını alır.
- "cURL" bölümü (cURL uzantısı gerekir): HTTP istekleri yapmak için çok işlevli bir istemci mekanizması sağlar. Çerezler, proxyler, kimlik doğrulama vb. ile çalışma fonksiyonlarını içerir.
curl_init(): Bir cURL oturumu başlatır.curl_setopt(): cURL oturumu için seçenekleri ayarlar.curl_exec(): cURL oturumunu yürütür.curl_close(): cURL oturumunu kapatır.
<?php
// Bir sayfanın içeriğini almak için cURL kullanımı örneği
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://example.com/");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // Sonucu dize olarak döndür
$output = curl_exec($ch);
if ($output === false) {
echo "cURL Hatası: " . curl_error($ch);
} else {
echo $output;
}
curl_close($ch);
?>
- "Stream" bölümü (akışlar): PHP Akışları, ağ soketleri ve HTTP dahil olmak üzere çeşitli kaynak türleri için birleşik bir arayüz sağlar.
stream_socket_client(): İstemci ağ bağlantısı açar.stream_socket_server(): Sunucu ağ bağlantısı oluşturur.stream_select(): Çoklu akışların durumundaki değişiklikleri bekler.
- "FTP" bölümü : FTP sunucuları ile çalışma fonksiyonları.
ftp_connect(): Bir FTP sunucusuna bağlantı kurar.ftp_login(): FTP sunucusuna giriş yapar.ftp_get(): FTP sunucusundan dosya indirir.ftp_put(): Dosyayı FTP sunucusuna yükler.
- "Mail" bölümü : E-posta göndermek için fonksiyonlar.
mail(): Bir e-posta gönderir.
Belirli bir fonksiyonun seçimi göreve bağlıdır. Protokollerle düşük seviyeli çalışma için soketler uygundur. Basit HTTP istekleri için file_get_contents() veya cURL kullanılabilir. cURL, karmaşık HTTP işlemleri için daha esnek ve güçlüdür. Akışlar, ağ iletişimi için daha soyut bir yaklaşım sağlar.