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

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

May 25, 2016 pm 04:45 PM

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

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

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中图片的代码:

<?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的并且可写的文件夹,代码如下:

$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 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)