Maison 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)); 

    

Copier après la connexion

原理很简单,通过一个含有图片地址的数组循环,然后使用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));

    }

    

Copier après la connexion

后来又找到一个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;;

Copier après la connexion
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)