更新的问题:
当与使用命名数组键(而不是编号键)get_headers()
的format
选项一起使用时,我如何考虑服务器使用Content-type
而不是的情况Content-Type
?
原始问题: PHP 问题获取 url 中有冒号的文件的标题
这个网址: http ://string-theory.wdfiles.com/local--files/char%3Ajezebel/evangeline-lilly-picture-4a.jpg
更新的问题:
当与使用命名数组键(而不是编号键)get_headers()
的format
选项一起使用时,我如何考虑服务器使用Content-type
而不是的情况Content-Type
?
更新答案:
如果您不能保证服务器使用正确的大小写,您可以使用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
)