HTTP bağlamı seçenekleri HTTP bağlamı seçeneklerinin listesi &reftitle.description; http:// ve https:// aktarımları için bağlam seçenekleri. &reftitle.options; method string Uzak sunucu tarafından desteklenen GET, POST veya başka bir HTTP yöntemi. GET öntanımlıdır. header array veya string İstek sırasında gönderilecek ek başlıklar. Bu seçenekte belirtilen değerler, ardından gelen Location: yönlendirmelerinde bile, diğer değerleri geçersiz kılar (User-agent:, Host:, Authentication: gibi). Bu bakımdan, follow_location etkinken Host: başlığının atanması önerilmez. user_agent string User-Agent: başlığı ile gönderilecek değer. Bu değer sadece, tarayıcı header seçeneği ile belirtilmemişse kullanılır. Öntanımlı olarak, &php.ini; dosyasındaki user_agent değeri kullanılır. content string Başlıklardan sonra gönderilecek ek veri. Normalde POST veya PUT istekleriyle kullanılır. proxy string Vekil sunucunun adresini belirten URI (tcp://vekil.example.com:5100 gibi). request_fulluri bool &true; atanırsa, istek oluşturulurken URI'nin tamamı kullanılır (GET http://example.com/dizin/yolu/dosya.html HTTP/1.0 gibi). Bu standart dışı bir istek biçimi olsa da bazı vekil sunucular bunun böyle olmasını gerektirirler. &false; öntanımlıdır. follow_location int Location başlık yönlendirmelerini izler. İptal etmek için 0 atayın. 1 öntanımlıdır. max_redirects int İzlenecek yönlendirmelerin azami sayısı. 1 veya daha az bir değer belirtilmesi hiçbir yönlendirmenin izlenmeyeceği anlamına gelir. 20 öntanımlıdır. protocol_version float HTTP protokolünün sürümü. PHP 8.0.0 itibariyle 1.1 öntanımlıdır, evvelce 1.0 sürümü öntanımlıydı. timeout float Bir float değer olarak saniye cinsinden okuma zaman aşımı. (10.5 gibi). Öntanımlı olarak, &php.ini; dosyasındaki default_socket_timeout yönergesinin değeri kullanılır. ignore_errors bool Başarısızlık durumu kodlarında bile içerik alınır. &false; öntanımlıdır. &reftitle.examples; - Bir sayfayı çekip veriyi POST ile göndermek 'biraz içerik', 'var2' => 'eh işte' ) ); $seçenekler = array('http' => array( 'method' => 'POST', 'header' => 'Content-type: application/x-www-form-urlencoded', 'content' => $postverisi ) ); $bağlam = stream_context_create($seçenekler); $sonuç = file_get_contents('http://example.com/submit.php', false, $bağlam); ?> ]]> - Başlıklar ve içerik alınırken yönlendirmeleri yoksaymak array( 'method' => 'GET', 'max_redirects' => '0', 'ignore_errors' => '1' ) ); $context = stream_context_create($opts); $stream = fopen($url, 'r', false, $context); // meta veri ve başlıklar var_dump(stream_get_meta_data($stream)); // esas veri var_dump(stream_get_contents($stream)); fclose($stream); ?> ]]> &reftitle.notes; Temel soket akımı bağlamı seçenekleri Ek bağlamsal seçenekler temel aktarım tarafından desteklenebilir. http:// akımları için tcp:// aktarımının bağlamsal seçeneklerine atıf yapılır. https:// akımları için ise ssl:// aktarımının bağlamsal seçeneklerine atıf yapılır. HTTP durum satırı Bu akım sarmalayıcı bir yönlendirmeyi izlerken stream_get_meta_data tarafından döndürülen wrapper_data, gerçekte 0 indisinde içerik verisine uygulanan HTTP durum satırını içermeyebilir. array ( 0 => 'HTTP/1.0 301 Moved Permantenly', 1 => 'Cache-Control: no-cache', 2 => 'Connection: close', 3 => 'Location: http://example.com/foo.jpg', 4 => 'HTTP/1.1 200 OK', ... ]]> İlk istek 301 (kalıcı yönlendirme) ile döndü, dolayısıyla akım sarmalayıcı otomatik olarak yönlendirmeyi izleyip bir 200 yanıtı aldı (indis = 4). &reftitle.seealso;