我有下面的图片链接:
http://ws.assoc-amazon.com/widgets/q?_encoding=UTF8&ASIN=B008EYEYBA&Format=_SL110_&ID=AsinImage&MarketPlace=US&ServiceVersion=20070822&WS=1&tag=mytwitterpage-20
但如果你点击它并在浏览器中查看,图像文件的实际url是这样的:
http://ecx.images-amazon.com/images/I/418lsVTc0aL._SL110_.jpg
你知道如何使用php解析上面的图片链接来得到实际的jpg文件吗?
发布于 2012-11-23 22:07:13
<?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");
Source
发布于 2012-11-23 22:07:46
使用get_headers()
,获取Location:
头部:
$headers = get_headers($url);
echo $headers['Location'];
注意:
这是最基本的版本,它将工作,只要有一个重定向。如果你遇到更复杂的问题,使用@aykut的解决方案。
发布于 2012-11-23 22:12:57
你也可以这样做:
header('Content-type:image/png');
$file=file_get_contents($url);
https://stackoverflow.com/questions/13530681
复制相似问题