-1

嘿伙计们,我正在寻求帮助,从我的一个供应商那里下载 1000 多张图像,用于电子商务网站。他们为我提供了我在数组中设置的正确 URL,但我似乎无法找到任何 PHP 脚本来功能性地下载图像。

我有:

ArrayOf1000ULRS[];

Loop through Array
   -save_image(URL)

我在网上找到的示例函数:

function save_image($img,$fullpath){
$ch = curl_init ($img);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_BINARYTRANSFER,1);
$rawdata=curl_exec($ch);
curl_close ($ch);
if(file_exists($fullpath)){
    unlink($fullpath);
}
$fp = fopen($fullpath,'x');
fwrite($fp, $rawdata);
fclose($fp);
}
4

2 回答 2

0
foreach($fileNames as $url)
{
set_time_limit(0);
//Get the filename from the end of the URL.
$imgName = explode("/", $url);
//Used this to run multiple scripts.
//Basically don't download files you have.
if(!file_exists("./images/".$imgName[-int-]))
{
$ch = curl_init ($url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_BINARYTRANSFER,1);
$rawdata=curl_exec ($ch);
curl_close ($ch);
$fp = fopen("./images/".$imgName[-int-],'w');
fwrite($fp, $rawdata);
fclose($fp);
}
}
于 2012-10-12T15:39:58.230 回答
-1

假设您在 *nix 机器上,您可以在其中抛出系统调用并使用 WGET。

foreach($arrayOfImages as $url){
    $cmd = "wget $url";
    system($cmd);
}

真是不安全,但如果这是一次性的个人事情,我会说去做。

于 2012-10-11T18:53:28.923 回答