如何直接从一个网站下载到另一个网站

时间:2014-04-22 10:32:51

标签: php html web download

我有一段PHP代码:

<?php 
$image_cdn = "http://ddragon.leagueoflegends.com/cdn/4.2.6/img/champion/"; 
$championsJson = "http://ddragon.leagueoflegends.com/cdn/4.2.6/data/en_GB/champion.json";
$ch = curl_init();`
$timeout = 0;
curl_setopt ($ch, CURLOPT_URL, $championsJson);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_BINARYTRANSFER, 1);

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

$json_array = json_decode($json, true);

$champions =  $json_array["data"];

foreach ($champions as $championdata) {
    $image_url = $image_cdn.$championdata["image"]["full"];
    $image = file_get_contents($image_url);
    file_put_contents("imgfolder/".$championdata["image"]["full"], $image);
}

?>

因此,代码的想法基本上是解码JSON并从以下网站下载图像: http://gameinfo.na.leagueoflegends.com/en/game-info/champions/

图片下载完美,并存储在我在硬盘上创建的文件夹中。下一步是,我可以使用同一段代码,将图像下载/显示到我最近创建的网站上:

www.lolguides4you.co.uk 这个网站基本上只有一天的历史,我一直在搞乱一些HTML编码。我是HTML和PHP的新手,所以如果有人能指出我正确的方向,那就太棒了!

1 个答案:

答案 0 :(得分:1)

假设你想要的只是将图像插入网站上的页面,那么这很简单。

但是,使用自动抓取工具保存/复制/复制任何图像可能是违法的。在互联网上做任何事情之前先研究一下。

第一步是将以前的PHP脚本上传到您的网站。这样,您可以将文件直接保存到网站上的目录中,而不是将图像下载到您的计算机,然后尝试将它们上传到您的网站。

接下来,您可以在网站的任何位置创建基本的PHP页面:

<?php

echo "Images downloaded:\n";

?>

接下来,您可以使用PHP的scandir()函数查找下载目录中的每个文件:

<?php

echo "Images downloaded:\n";

$files = scandir('imgfolder/');
foreach($files as $file) {
  // Do something
}

?>

最后,现在您只显示每张图片:

<?php

echo "Images downloaded:\n";

$files = scandir('imgfolder/');
foreach($files as $file) {
  echo $file . "\n";
}

?>

您还可以使用Glob,它允许您忽略任何不属于某种类型的文件(如果您在同一目录中有其他文件:

<?php

echo "Images downloaded:\n";

$files = glob("imgfolder/*.jpg");
foreach($files as $file){
  echo $file . "\n";
}

?>