php: get_headers Function Results farklı mı

2 Cevap php

i using get_headers Function in PHP to request headers from website Yerel sunucureturn arrays put when use in my website Does not return arrays

getirileri için örnekler

Yerel sunucu

Array
(
    [0] => HTTP/1.1 301 Moved
    [Server] => Array
        (
            [0] => nginx/0.7.42
            [1] => Apache/2.2.11 (Unix) mod_ssl/2.2.11 OpenSSL/0.9.8e-fips-rhel5 mod_auth_passthrough/2.1 mod_bwlimited/1.4
            [2] => Apache/2.2.11 (Unix) mod_ssl/2.2.11 OpenSSL/0.9.8e-fips-rhel5 mod_auth_passthrough/2.1 mod_bwlimited/1.4
            [3] => Microsoft-IIS/7.0
        )
    [Content-Type] => Array
        (
            [0] => text/html; charset=utf-8
            [1] => text/html; charset=iso-8859-1
            [2] => text/html
            [3] => text/html; charset=utf-8
        )
    [Location] => Array
        (
            [0] => http//3.ly/aXP
            [1] => http//3.ly/aXP/
            [2] => http//stackoverflow.com
        )
    [MIME-Version] => 1.0
    [Content-Length] => Array
        (
            [0] => 277
            [1] => 376
            [2] => 0
            [3] => 122213
        )
)

Gerçek sunucu

Array
(
    [0] => HTTP/1.1 301 Moved
    [Server] => nginx/0.7.42
    [Date] => Sat, 10 Oct 2009 03:15:32 GMT
    [Content-Type] => text/html; charset=utf-8
    [Connection] => keep-alive
    [Location] => http//3.ly/aXP
    [MIME-Version] => 1.0
    [Content-Length] => 277
)

i diziler dönmek için alışkanlık

teşekkürler ....

2 Cevap

PHP yerel sunucu üzerinde ve gerçek sunucu üzerinde yönlendirmeleri nasıl işleyeceğini bir fark var gibi görünüyor. Ben çok yerel diziler olsun düşünüyorum, ama nedense get_headers için () yerel yönlendirmeleri takip görünmüyor.

PHP version iki ortamlarda aynı mıdır?

Bunun için bir neden yok gibi görünüyor. Sen bir dizisini almak için sıfır olmayan bir değere ikinci parametreyi ayarlamanız gerekir 1 :

get_headers($url, 1);

Bunu yaparsanız PHP kendisi veya sorunlu sunucuda bir hata (her ikisi de zaman zaman kullanıcı için nadir durumlarda) olmadıkça, bu, her yerde aynı çalıştırmanız gerekir.

O get_headers (birden fazla) yönlendirir ve her başlıklarını bir dizi olarak yönlendirme saklayan aşağıdaki Not 2 :

array(11) {
  [0]=>
  string(30) "HTTP/1.0 301 Moved Permanently"
  ["Location"]=>  string(22) "http://www.google.com/"
  ["Content-Type"]=>  array(2) {
    [0]=>    string(24) "text/html; charset=UTF-8"
    [1]=>    string(29) "text/html; charset=ISO-8859-1"
  }
...

Yönlendirmeler için özellikle başlık değerler arkaya saklanır, böylece Content-Type[0] Location s, her başlıklarını almak için dizi formatı kullanılamaz kılan herhangi biri ile ilgili olabilir gibi görünüyor vardır doğru yönlendirmeleri. Eğer başlıklarını ayrıştırmak gerekir beri çizgi dizi biçimi, çok daha iyi değildir. Ama dizi formatında vb son konumunu tespit edebilir