1

我正在为自己制作一个脚本来列出我最喜欢的电影。所以我几乎完成了它,但我无法用 php 从 IMDb 保存小海报。我使用了该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 回答