无法从编码网址中找到图像名称和扩展名

时间:2015-04-21 08:48:22

标签: php urlencode

我有一个问题想问你,这是关于php的。当我尝试使用php函数从以下形式的url扩展图像扩展时出现问题:

http://lh3.googleusercontent.com/i_qpu5lXHddZgNaEbzEEz1CaArLCHEmVNuhwVOuDUl0aIyZHuez3s4Uf878y1n9CqB5rld2a7GSAoWzoMgrC

所以,对于上面的网址是由谷歌制作的,不显示使用文件名和extesion名称。当然我试着使用下面的功能,但仍然不起作用:

$ image_name = basename($ url);

任何人都可以帮助我。

1 个答案:

答案 0 :(得分:2)

如果您要下载图片,可以使用finfo_file()获取扩展程序。


否则,您可以使用get_headers()

在服务器发送的标头中查找内容类型

示例代码

<?php
$url = 'http://lh3.googleusercontent.com/i_qpu5lXHddZgNaEbzEEz1CaArLCHEmVNuhwVOuDUl0aIyZHuez3s4Uf878y1n9CqB5rld2a7GSAoWzoMgrC';

print_r(get_headers($url));

?>

示例输出

Array
(
    [0] => HTTP/1.1 200 OK
    [1] => Access-Control-Allow-Origin: *
    [2] => ETag: "v1"
    [3] => Expires: Wed, 22 Apr 2015 09:10:30 GMT
    [4] => Cache-Control: public, max-age=86400, no-transform
    [5] => Content-Disposition: inline;filename="unnamed.png"
    [6] => Content-Type: image/png
    [7] => Date: Tue, 21 Apr 2015 09:10:30 GMT
    [8] => Server: fife
    [9] => Content-Length: 20365
    [10] => X-XSS-Protection: 1; mode=block
    [11] => Alternate-Protocol: 80:quic,p=1
)