0

首先,我尝试将 file_put_contens 与 fopen、fopen 与 frwrite 结合使用,但没有任何成功。我现在发现这让我更进一步,但不是在终点线。 从 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);
?>
4

1 回答 1

0

您没有说明问题所在file_get_contents(),因此如果您的主机配置为允许它(allow_url_fopen = on在 php.ini 中),这应该可以工作:

$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));
}
于 2013-11-12T16:11:36.143 回答