3

私は以下のこの画像リンクを持っています:

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ファイルを取得する方法はありますか?

4

3 に答える 3

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");

ソース

于 2012-11-23T14:07:13.113 に答える
0

を使用get_headers()して、Location:ヘッダーを取得します。

$headers = get_headers($url);
echo $headers['Location'];

ノート:

これは最も基本的なバージョンであり、リダイレクトが1つしかない限り機能します。より複雑な問題が発生した場合は、@aykutのソリューションを使用してください。

于 2012-11-23T14:07:46.157 に答える
0

次のようなこともできます:

header('Content-type:image/png');
$file=file_get_contents($url);
于 2012-11-23T14:12:57.167 に答える