1

更新された質問:

(番号付きキーではなく)名前付き配列キーを使用するオプションを使用する場合、サーバーが使用するような状況をどのように説明できget_headers()ますか?formatContent-typeContent-Type


元の質問: URL にコロンが含まれるファイルのヘッダーを取得する際の PHP の問題
こんにちは、コロンが含まれるリモート URL のヘッダー情報を取得する際に問題が発生しています。urldecode を使用してみましたが、%3A が : にデコードされますが、問題は解決しません。何をすべきか?
この URL: http://string-theory.wdfiles.com/local--files/char%3Ajezebel/evangeline-lilly-picture-4a.jpg

4

1 に答える 1

1

更新された回答:

サーバーが大文字と小文字を正しく使用することを保証できない場合は、 を使用array_change_key_caseして名前付きキーを変更できます。

<?php
    $original = array('Content-type'=>'text/html');
    echo $original['Content-Type']; // Notice: Undefined index

    $fixed = array_change_key_case($original, CASE_LOWER);
    echo $fixed['content-type']; // prints 'text/html'
?>


古い答え:

これは完全に機能するため、質問を拡張する必要があります。

PHP:

<?php
    $url = 'http://www.mysite.com/dev/blah.php?blah=1:2:3';
    print_r(get_headers($url));
?>

出力:

Array
(
    [0] => HTTP/1.1 200 OK
    [1] => Date: Tue, 22 Feb 2011 18:28:20 GMT
    [2] => Server: Apache
    [3] => Connection: close
    [4] => Content-Type: text/html
)

出力 2: (OP によって指定された URL を使用)

Array
(
    [0] => HTTP/1.0 200 OK
    [1] => Etag: "8b48b69ed24101b9a235e0168874c720"
    [2] => Content-type: image/jpeg; charset=utf-8
    [3] => Content-Length: 482111
    [4] => Connection: close
    [5] => Date: Wed, 23 Feb 2011 19:50:42 GMT
    [6] => Server: lighttpd/wikidot
)
于 2011-02-22T18:30:16.673 に答える