If you are using stream_context_get_default() and are still finding that some functions do not work, make sure that they are not based upon the libxml functions (DOM, SimpleXML and XSLT). These require their own context.
You can easily set them using the following code ...
<?php
// Define the default, system-wide context.
$r_default_context = stream_context_get_default
(
array
(
'http' => array
( // All HTTP requests are passed through the local NTLM proxy server on port 8080.
'proxy' => 'tcp://127.0.0.1:8080',
'request_fulluri' => True,
),
)
);
// Though we said system wide, some extensions need a little coaxing.
libxml_set_streams_context($r_default_context);
?>
See http://rquadling.php1h.com/php_ntlm.php for more info (sorry for the ads).
stream_context_get_default
(PHP 5 >= 5.1.0)
stream_context_get_default — Öntanımlı akım bağlamını döndürür
Açıklama
resource stream_context_get_default
([ array $seçenekler
] )
Bir bağlam değiştirgesi olmadan çağrılan (fopen(), file_get_contents() gibi) dosya işlevlerinde kullanılmak üzere öntanımlanmış akım bağlamını döndürür. Öntanımlı bağlam için seçenekler bu işlevle de tanımlanabilmektedir. Sözdizimi stream_context_create() ile aynıdır.
Değiştirgeler
- seçenekler
-
seçenekler
dizisi, üyeleri
$seçenekler['sarmalayıcı']['seçenek'] = $değer
olan bir ilişkisel dizi olmalıdır.
Bilginize: PHP 5.3.0'dan itibaren, stream_context_set_default() işlevi öntanımlı bağlamı ayarlamak için de kullanılabilmektedir.
Dönen Değerler
Bir bağlam özkaynağı.
Örnekler
Örnek 1 - stream_context_get_default() örneği
<?php
$default_opts = array(
'http'=>array(
'method'=>"GET",
'header'=>"Accept-language: en\r\n" .
"Cookie: foo=bar",
'proxy'=>"tcp://10.54.1.39:8000"
)
);
$alternate_opts = array(
'http'=>array(
'method'=>"POST",
'header'=>"Content-type: application/x-www-form-urlencoded\r\n" .
"Content-length: " . strlen("baz=bomb"),
'content'=>"baz=bomb"
)
);
$default = stream_context_get_default($default_opts);
$alternate = stream_context_create($alternate_opts);
/* www.example.com için $default_opts ile belirtilen bağlam
* seçeneklerini kullanarak 10.54.1.39'daki vekil sunucuya
* normal bir GET isteği gönderelim.
*/
readfile('http://www.example.com');
/* $alternate_opts ile belirtilen bağlam seçeneklerini
* kullanarak www.example.com'a doğrudan bir POST isteği
* gönderelim.
*/
readfile('http://www.example.com', false, $alternate);
?>
Ayrıca Bakınız
- stream_context_create() - Bir akım bağlamı oluşturur
- Desteklenen Protokollerin ve Sarmalayıcıların Listesi
stream_context_get_default
RQuadling at GMail dot com
02-Jan-2007 09:02
02-Jan-2007 09:02
