2010-11-17 61 views
1

我正在爲自己製作一個腳本來列出我最喜歡的電影。所以我差不多完成了它,但是我無法使用php保存IMDb中的小海報。我使用了file_put_contents()函數,但它創建了一個0kb的jpeg文件。這裏是我使用的代碼:用php保存IMDb海報

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

當然,它沒有工作。然後我用捲曲:

$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/

回答

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')); 
?> 

如果你正在主持此服務器上的某個地方,INI設置allow_url_include需要的PHP設置爲爲了讓您在您的域名之外獲得請求。

+0

我用我自己的電腦運行它。我可以通過file_get_contents獲取URL的html代碼。 – Valour 2010-11-17 18:35:02

+0

這也是我的猜測。我的工作也很好。 +1 – 2010-11-17 18:35:33

+0

是的,我用它來保存到另一個位置,它工作。但我正在用Codeigniter編寫我的站點腳本,並且它有一個.htaccess文件。如何禁用/ posters文件夾的重寫規則? – Valour 2010-11-17 18:46:54