我在下面有这个图片链接:
http://ws.assoc-amazon.com/widgets/q?_encoding=UTF8&ASIN=B008EYEYBA&Format=_SL110_&ID=AsinImage&MarketPlace=US&ServiceVersion=20070822&WS=1&tag=mytwitterpage-20
但是如果你点击它并在浏览器中查看它,图像文件的实际网址是:
http://ecx.images-amazon.com/images/I/418lsVTc0aL._SL110_.jpg
任何想法如何解析上面的图像链接以使用php获取实际的jpg文件?
答案 0 :(得分:5)
<?php
function get_url($url) {
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_exec($ch);
if (!curl_errno($ch)) {
$url = curl_getinfo($ch, CURLINFO_EFFECTIVE_URL);
}
curl_close($ch);
return $url;
}
echo get_url("http://ws.assoc-amazon.com/widgets/q?_encoding=UTF8&ASIN=B008EYEYBA&Format=_SL110_&ID=AsinImage&MarketPlace=US&ServiceVersion=20070822&WS=1&tag=mytwitterpage-20");
答案 1 :(得分:0)
使用get_headers()
,并获取Location:
标题:
$headers = get_headers($url);
echo $headers['Location'];
注意:
这是最基本的版本,只要只有1个重定向,它就会起作用。如果您遇到更复杂的问题,请使用@ aykut的解决方案。
答案 2 :(得分:0)
您也可以这样做:
header('Content-type:image/png');
$file=file_get_contents($url);