首页 php教程 php手册 PHP批量下载html与css中图片文件实例

PHP批量下载html与css中图片文件实例

May 25, 2016 pm 04:45 PM

最近一直很忙,遇到一个手工活,需要下载一些远程的图片,一共一百多张,如果通过手工一张一张的保存,也太耗费时间了,于是上网google了一把,找到PHP批量下载图片文件的方法,原文是出自平凡世界博客的一片关于如何使用PHP批量下载CSS文件中的图片的文章,经过研究改写了一下就可以使用了,方便快捷多了.

PHP批量下载图片文件代码:

1

2

3

4

5

6

7

8

9

set_time_limit(0);//设置PHP超时时间 

    $imagesURLArray array_unique($imagesURLArray ); 

      

    foreach($imagesURLArray as $imagesURL) { 

        echo $imagesURL

        echo 

    "; 

        file_put_contents(basename($imagesURL), file_get_contents($imagesURL)); 

    

登录后复制

原理很简单,通过一个含有图片地址的数组循环,然后使用PHP的file_get_contents函数取得图片,在使用file_put_contents函数把图片保存下来.

注意:一定要加上设置PHP超时时间.

附上原文中通过php下载css中图片的代码:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

<?php

    /*

    More & Original PHP Framwork

    Copyright (c) 2007 - 2008 IsMole Inc.

    Author: kimi

    Documentation: 下载样式文件中的图片,水水专用扒皮工具

    */

      

    //note 设置PHP超时时间

    set_time_limit(0);

      

    //note 取得样式文件内容

    $styleFileContent = file_get_contents(&#39;images/style.css&#39;);

      

    //note 匹配出需要下载的URL地址

    preg_match_all("/url((http://pic2.phprm.com/2014/07/01/", $styleFileContent, $imagesURLArray.jpg);

      

    //note 循环需要下载的地址,逐个下载

    $imagesURLArray = array_unique($imagesURLArray[1]);

        foreach($imagesURLArray as $imagesURL) {

        file_put_contents(basename($imagesURL), file_get_contents($imagesURL));

    }

    

登录后复制

后来又找到一个php批量下载图片文件,假如现在我现在发现一个网站上的图片保存方式是1001 – 1999目录下都存放着从1开始(数量不等)的.jpg图片,现在我决定用php的方法将图片按照自己需要的样式直接下载到本地.

假如图片开始地址为:http://image.phprm.com/img/1001/1.jpg

这时我将1001处放到变量$id,1.jpg放到变量$num.jpg,保存的文件名为$id_$num.jpg,首先确保在此文件执行目录下面建一个名为img的并且可写的文件夹,代码如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

$id= isset($_GET[&#39;id&#39;]) && intval($_GET[&#39;id&#39;]) && $_GET[&#39;id&#39;]>1000 ? $_GET[&#39;id&#39;] : 1001;

    $num= isset($_GET[&#39;num&#39;]) && intval($_GET[&#39;num&#39;]) ? $_GET[&#39;num&#39;] : 1;

    $url="http://image.xxx.com/img/{$id}/{$num}.jpg";

      

    $array=get_headers($url,1);

      

    //通过返回200和400来判断是增加$id或者$num

    if(preg_match(&#39;/200/&#39;,$array[0])){

     $new_url="?id={$id}&num=".($num+1);

      

     ob_start();

     readfile($url);

     $img = ob_get_contents();

     ob_end_clean(); 

      

     $filename="./img/{$id}_{$num}.jpg";

     $f=fopen($filename,&#39;a&#39;);

     fwrite($f,$img);

     fclose($f);

    }else{

     $new_url="?id=".($id+1)."&num=1";

    }

    if($id > 1999) exit(&#39;全部完成&#39;);

    //显示当前的状态

    echo $url,&#39; - &#39;,$array[0],&#39;<script>location.href="&#39;.$new_url.&#39;";</script>&#39;;

登录后复制
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)