Sobes.tech
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.