1

お気に入りの映画をリストするスクリプトを自分で作成しています。ほぼ完成しましたが、IMDbの小さなポスターをphpで保存できません。関数を使用しfile_put_contents()ましたが、0kbのjpegファイルを作成しています。ここに私が使用したコードがあります:

file_put_contents('./posters/t0120689.jpg', file_get_contents('http://ia.media-imdb.com/images/M/MV5BMTUxMzQyNjA5MF5BMl5BanBnXkFtZTYwOTU2NTY3._V1._SX214_CR0,0,214,314_.jpg'));

もちろんうまくいきませんでした。次に、cURL を使用しました。

$ch = curl_init(
file_put_contents('./posters/t0120689.jpg', file_get_contents('http://ia.media-imdb.com/images/M/MV5BMTUxMzQyNjA5MF5BMl5BanBnXkFtZTYwOTU2NTY3._V1._SX214_CR0,0,214,314_.jpg');
$fp = fopen('./posters/t0120689.jpg', 'wb');
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_exec($ch);
curl_close($ch);
fclose($fp);

それもうまくいきませんでした。これは、IMDb のサンプル ムービー ページです: http://www.imdb.com/title/tt0120689/

4

1 に答える 1

3

これを実行すると、私のMacbookでうまくいきました:

<?php
file_put_contents('./t0120689.jpg', file_get_contents('http://ia.media-imdb.com/images/M/MV5BMTUxMzQyNjA5MF5BMl5BanBnXkFtZTYwOTU2NTY3._V1._SX214_CR0,0,214,314_.jpg'));
?>

これをどこかのサーバーでホストしている場合allow_url_include、ドメイン外のリクエストを取得するには、php ini 設定を on に設定する必要があります。

于 2010-11-17T18:33:06.660 に答える