从网上下载图片

时间:2013-11-12 16:04:29

标签: php loops curl foreach fopen

首先,我尝试将file_put_contens与fopen组合,使用frwrite进行fopen而没有任何成功。我现在已经发现了这一点,我进一步,但不是在终点线。 Saving image from PHP URL

我有一个url - domain.tld / images /,结构是1.jpg,2.jpg等等。有了这个我可以得到最后的图片保存15.jpg,但我似乎没有其他图片。不确定我是否应该使用curl_multi,或者将curl放在循环中或者最好的方法是什么?

<?php
$base_url = "domain.tld/images/";
$sufix = ".jpg";
$id_start= "1";
$id_end = "15";
$path_to_save = "files/";

foreach(range($id_start,$id_end) as $id)

$ch = curl_init();
$fp = fopen('filer/'.$id.$sufix, 'wb');
curl_setopt($ch, CURLOPT_URL, $base_url.$id.$sufix);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_exec($ch);
curl_close($ch);
?>

1 个答案:

答案 0 :(得分:0)

你没有说明file_get_contents()的问题是什么,所以如果主机配置为允许它(php.ini中为allow_url_fopen = on),这应该有效:

$base_url = "http://domain.tld/images/";

foreach(range($id_start, $id_end) as $id) {
    file_put_contents($path_to_save.$id.$sufix, file_get_contents($base_url.$id.$sufix));
}