2014-02-13 57 views
3

我想從以下網站下載多個圖像: www.bbc.co.uk 我想通過使用PHP cURL來做到這一點,有人可以幫助我帶領正確的方向嗎?如何從網站下載所有圖片?

這將是很好的下載所有的圖像在一個鏡頭,但如果有人可以幫助我下載也許只下載1或一堆,那將是偉大的!

編輯:這將是展示我已經嘗試了好主意:

<?php 
$image_url = "www.bbc.co.uk"; 
$ch = curl_init(); 
$timeout = 0; 
curl_setopt ($ch, CURLOPT_URL, $image_url); 
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout); 

// Getting binary data 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_BINARYTRANSFER, 1); 

$image = curl_exec($ch); 
curl_close($ch); 

// output to browser 
header("Content-type: image/jpeg"); 
print $image; 
?> 

出於某種原因,它不工作。值得注意的是,我是PHP和編程方面的絕對成員。

+0

考慮'wget',這幾乎是拉圖像關閉一個網站的最佳工具。 – meagar

+0

這是一個大學任務。我不確定我是否被允許使用wget – Navee

+0

「我不確定是否允許我使用wget」 - 您已經設置了一個問題。分配解決它。你爲什麼限制你可以用什麼工具解決這個問題? –

回答

2

你粘貼的上面的代碼並沒有做你認爲的事情。

$image = curl_exec($ch); 

$image變量不包含任何圖像,它實際上包含了網頁作爲字符串的整個HTML。

如果更換

// output to browser 
header("Content-type: image/jpeg"); 
print $image; 

有:

var_dump($image); 

你會看到HTML。

事情是這樣的:

curl output

試圖找到實際的冠軍圖像源,並解析它相應

0

你只需要整個/ Air/assets/images/champions文件夾?

當您使用FireFox和下載插件(如「全部下載」)時,打開冠軍照片所在的FTP文件夾(Eambo的鏈接),右鍵點擊插件即可。
它會列出所有文件,全選或全部選擇,然後開始下載。

另外,如果你自己的那場比賽,你可以在這條道路一看:

\League of Legends\rads\projects\lol_air_client\releases\<newest-version>\deploy\assets\images\champions 

既然你可能會使用在你的大學,CHECK THIS,我希望你能找到一個解決方案。

+0

我不認爲他已經安裝在他的大學PC上:)他需要從網頁上下載圖片。 – Timmetje

+0

我剛剛在我的答案中增加了一行文字。 – Hoh

+0

這是正確的。這個想法是爲我創建一個下載圖像的程序。不下載下載圖像的程序,那是你建議的嗎?如果它是那麼抱歉那不是主意:)。 – Navee