php如何通过URL批量下载图片,这些图片是设计作品,

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php如何通过URL批量下载图片,这些图片是设计作品,相关的知识,希望对你有一定的参考价值。

我用header只能保存一次,用file_put_contents,又不会提示保存?

如果URL有规则,那么可以考虑js做前端,php做后端

具体思路如下

js发送ajax请求给php,php抓取图片,抓取完毕响应前端,前端提示完成(或者更新进度条),然后前端js再次发起ajax请求,直至全部抓取完毕


对了 url有规律的话 用迅雷下载也是挺不错的

参考技术A url是事先准备好的不 ?那可以把url作为一个数组,然后再循环读取进行远程下载。
下面是核心代码:
//开始抓取
foreach($imgUrl as $url)
if($url=="") continue;
$filename = $savePath.$url;
$url = $fromDomain.$url;
getImage($url,$filename);


function getImage($url,$filename)
ob_start();
$context = stream_context_create(
array (
'http' => array (
'follow_location' => false // don't follow redirects
)
)
);
//请确保php.ini中的fopen wrappers已经激活
readfile( $url,false,$context);
$img = ob_get_contents();
ob_end_clean();
$fp2 = @fopen($filename,"a");
fwrite($fp2,$img);
fclose($fp2);
echo $filename." ok √<br/>";


完整代码请参考:http://www.daixiaorui.com/read/8.html
还可以自动获取css里面的url下载哦。

谢谢!希望采纳!

PHP 怎么下载没有后缀的图片

比如优酷网的缩略图,没有后缀,php下载它怎么写

保存比较简单,使用 file_get_contents 和 file_put_contents ,比较麻烦(应该是没想到)的是如何获取图片类型,这个可以通过响应头来判断,响应头有一个属性 Content-Type ,它就是 mime ,做好 mime 和 文件扩展名的映射,就可以知道文件的扩展名了。下面这个函数可以做个参考:


/*
 * 保存图片
 * @param $url 要保存的链接
 * @return 保存的字节数,失败则返回 false
 */
function saveFile($url)

    // mime 和 扩展名 的映射
    $mimes=array(
        'image/bmp'=>'bmp',
        'image/gif'=>'gif',
        'image/jpeg'=>'jpg',
        'image/png'=>'png',
    );
    // 获取响应头
    if(($headers=get_headers($url, 1))!==false)
    
        // 获取响应的类型
        $type=$headers['Content-Type'];
        // 如果符合我们要的类型
        if(isset($mimes[$type]))
        
            $fileName=uniqid();
            $ext=$mimes[$type];
            $file="temp/$fileName.$ext";
            // 获取数据并保存
            $contents=file_get_contents($url);
            return file_put_contents($file, $contents);
         
    
    return false;

参考技术A 用CURL...

以上是关于php如何通过URL批量下载图片,这些图片是设计作品,的主要内容,如果未能解决你的问题,请参考以下文章

如何下载整个网站的图片(只能通过网址访问,无超链接)

excel里图片URL怎么批量下载图片,推荐个免费的软件

批量更改showdoc的图片的URL

从CSV文件中读取jpg图片的URL地址并多线程批量下载

如何利用Python批量下载百度图片?实现随时看全网小姐姐

php批量下载图片