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.
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), 0, 10) == 'location: ') {
/* yönlendirildiğimiz yere göre $url'yi güncelleyelim */
$url = substr($cevap, 18);
}
}
?>
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.
Ö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