php批量下载图片,网上觅的代码,不好使
程序员文章站
2024-01-09 08:13:16
...
php批量下载图片,网上找的代码,不好使
求教 ,谢谢。 就是想把上传到服务器上的图片,都下载本地。这个还需要改
------解决思路----------------------
你给出的代码是采集目标网页上所有的图片标签,并下载之。。
你如果想下载上传到服务器上的图片,那你可以尝试通过上述代码中的downImage函数,把服务器上图片的url地址传入下载之。
------解决思路----------------------
有圖片url嗎?
循環所有url,然後使用file_get_contents下載就可以了。
例如:
$url = "http://www.abc.com/1.jpg';
$c = file_get_contents($url);
file_put_contents(basename($url), $c, true);
function project_statistics(){
echo "11111";
$url = "http://www.xxx.com:81/upload/image";
$content=file_get_contents($url);
$reg="//";
preg_match_all($reg,$content,$matches);
$path = '../download/img';
if(!file_exists($path)){
mkdir($path, 0777);
}
function downImage($url,$filename="") {
if($url=="") return false;
if($filename=="") {
$ext=strrchr($url,".");
if($ext!=".gif" && $ext!=".jpg" && $ext!=".png" && $ext!="jpeg") return false;
$filename=date("YmdHis").$ext;
}
ob_start();
//make file that output from url goes to buffer
readfile($url);
//file_get_contents($url); 这个方法不行的!!!只能用readfile
$img = ob_get_contents();
ob_end_clean();
[email protected]($filename, "a");//append
fwrite($fp,$img);
fclose($fp);
return $filename;
}
for($i = 0;$i
/*explode
$url_arr[$i] = explode('/', $matches[1][$i]);
$last = count($url_arr[$i])-1;
*/
//strrchr
$filename = strrchr($matches[1][$i], '/');
downImage($matches[1][$i],$path.$filename);
//downImage($matches[1][$i],$path.'/'.$url_arr[$i][$last]);
}
}
求教 ,谢谢。 就是想把上传到服务器上的图片,都下载本地。这个还需要改
------解决思路----------------------
你给出的代码是采集目标网页上所有的图片标签,并下载之。。
你如果想下载上传到服务器上的图片,那你可以尝试通过上述代码中的downImage函数,把服务器上图片的url地址传入下载之。
------解决思路----------------------
有圖片url嗎?
循環所有url,然後使用file_get_contents下載就可以了。
例如:
$url = "http://www.abc.com/1.jpg';
$c = file_get_contents($url);
file_put_contents(basename($url), $c, true);
相关文章
相关视频