Desteklenen Protokollerin ve Sarmalayıcıların Listesi
PHP Manual

HTTP ve HTTPS

PHP 4, PHP 5, PHP 6. https:// PHP 4.3.0'dan itibaren var.

HTTP GET yöntemini kullanarak HTTP 1.0 üzerinden dosya ve özkaynaklara salt okunur erişime izin verilir. İsme dayalı sanal konaklardan istek yapmak için bir Host: başlığı gönderilir. Akım bağlamında veya php.ini dosyanızda user_agent yönergesini yapılandırdığınız takdirde tarayıcı bilgisi de istek başlıklarına dahil edilir.

Uyarı

Microsoft IIS, SSL kullanırken bir close_notify göndermeden bağlantıyı kapatarak protokolle çelişir. Verinin sonuna ulaştığınız zaman PHP bunu "SSL: Fatal Protocol Error" (SSL: "Ölümcül Protokol Hatası") olarak raporlar. Bu sorunu bertaraf etmek için error_reporting değerini uyarıları içermeyecek bir seviyeye indirmek gerekir. PHP'nin 4.3.7 ve sonraki sürümleri, akımı https:// şemasını kullanarak açarsanız hatalı IIS sunucu yazılımını saptayıp uyarıları engelleyebilir. Bir ssl:// soketi oluşturmak için fsockopen() kullanılacaksa uyarıları saptayıp engellemekten geliştirici sorumludur.

Yönlendirmeler PHP'nin 4.0.5 sürümünden beri desteklenmektedir. Eğer daha eski sürümlerden birini kullanıyorsanız, URL'nin sonuna bölü çizgisi eklemeniz gerekecek. Tüm yönlendirmeler yapıldıktan sonra, belgenizin geldiği özkaynağın adresini bilmek önemliyse, akımdan dönen yanıt başlıkları üzerinde bazı işlemler yapmanız gerekecektir:

<?php
$url 
'http://www.mesela.dom/sayfa_yonlendirme.php';

$fp fopen($url'r');

/* PHP 4.3.0 öncesinde stream_get_meta_data()
   yerine $http_response_header kullanılır  */
$meta_veri stream_get_meta_data($fp);
foreach(
$meta_veri['wrapper_data'] as $cevap) {

  
/* Yönlendirildik mi? */
  
if (substr(strtolower($cevap), 010) == 'location: ') {
    
/* yönlendirildiğimiz yere göre $url'yi güncelleyelim */
    
$url substr($cevap18);
  }

}

?>

Akımdan gelen başlıklar $http_response_header değişkeninde saklanıp belgenin gövdesine (body) erişime izin verilir. PHP 4.3.0'dan beri, başlıklara stream_get_meta_data() işlevi ile erişilebilmektedir.

HTTP bağlantıları salt okunurdur; HTTP özkaynaklarına veri yazamaz veya dosya kopyalayamazsınız.

Bilginize: HTTPS, PHP 4.3.0'ten itibaren (derleme sırasında OpenSSL desteği vermişseniz) desteklenmektedir.

php.ini dosyanızda from yönergesine bir değer atar ve Bağlam seçenekleri ve değiştirgeleri kapsamında bir From: başlığı tanımlamazsanız HTTP isteğinde From: başlığı olarak bu değer gönderilir.

Sarmalayıcının özellikleri
Özellik Destek
allow_url_fopen tarafından sınırlanma Var
Okumaya izin Var
Yazmaya izin Yok
Eklemeye izin Yok
Aynı anda okuyup yazmaya izin Yok
stat() desteği Yok
unlink() desteği Yok
rename() desteği Yok
mkdir() desteği Yok
rmdir() desteği Yok

Özel başlıklar 5. sürüm öncesinde user_agent INI yönergesinin bir yan etkisi olarak bir HTTP isteği ile gönderilebiliyordu. Bunun için user_agent yönergesine geçerli bir dizge (PHP/<sürüm> öntanımlıdır) atayıp ardına satırbaşı/satırsonu çiftini ve ek başlıkları ekleyip gönderebilirsiniz. Bu yöntem PHP 4 ve sonrasında çalışır.

Örnek 1 - HTTP isteğinde özel başlıkların gönderilmesi

<?php
ini_set
('user_agent'"PHP\r\nX-OzelBaslik: Filanca");

$fp fopen('http://mesela.dom/index.php''r');
?>

Bu işlem aşağıdaki başlıkların gönderilmesi ile sonuçlanır:

GET /index.php HTTP/1.0
Host: mesela.dom
User-Agent: PHP
X-OzelBaslik: Filanca


Desteklenen Protokollerin ve Sarmalayıcıların Listesi
PHP Manual