加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php实现的css文件背景图片下载器代码

发布时间:2020-12-13 02:09:01 所属栏目:PHP教程 来源:网络整理
导读:《:php实现的css文件背景图片下载器代码》要点: 本文介绍了:php实现的css文件背景图片下载器代码,希望对您有用。如果有疑问,可以联系我们。 本篇章节讲解php实现的css文件背景图片下载器代码.供大家参考研究.具体实现办法如下: PHP教程 下载cs

《:php实现的css文件背景图片下载器代码》要点:
本文介绍了:php实现的css文件背景图片下载器代码,希望对您有用。如果有疑问,可以联系我们。

本篇章节讲解php实现的css文件背景图片下载器代码.分享给大家供大家参考.具体实现办法如下:PHP教程

下载css文件里面的背景图片是我们这些盗版份子长期搞的事情,下载个css图片下载器常出现各种广告弹窗,实在扛不住.这里就提供了一个php版的css文件背景图片下载器给大家.PHP教程

把文件放到php程序目录 dos下面 php.exe cssImages.php 0 http://www.xxxx.com/css/style.css imagesPHP教程

先在php程序目录建个images文件夹,呵呵,贴代码:
PHP教程

代码如下:
<?php???
/**??
*@阿唐 2013-4-6 22:19???
*@呵呵??
*/???
set_time_limit(0);???
error_reporting(E_ERROR);???
if($argc<4){???
print_r('???
?+-------------------------------------------------+???
Usage: php '.$argv[0].' css路径类型(0为远程、1为本地) css文件路径 图片保存目录???
Example:????
php.exe '.$argv[0].' 0 http://www.xxx.com/index.css images???
?+-------------------------------------------------+???
');???
exit();???
}???
//远程css???
if($argv[1]==0){???
??? $host = getParse($argv[2],'host');???
??? $savePath = getSavePath($argv[3]);???
??? $images = getCssImagesArray($argv[2]);???
??? //print_r($images);???
??? $imagesurls = getImagesLinks($images,$argv[2]);???
??? imagesDowner($imagesurls);???
}???
//本地css开始???
if($argv[1]==1){???
??? //懒得写了,这个没多大意义???
}???
/*??
?* css图片分析函数??
?* $csspath? css文件路径??
?*/???
function getCssImagesArray($csspath){???
??? $cssFile = file_get_contents($csspath);???
??? $images = array();???
??? preg_match_all("|url((.+))|i",$cssFile,$images);???
??? $images = $images[1];???
??? return $images;???
}???
/*??
?* css文件相对目录处理函数??
?* $path 路径??
?*/???
function getNocssPath($path){???
??? global $host;???
??? $tempLinkmages='';???
??? //相当路径获取???
??? $tempPath = explode('/',$path);???
??? for($i=1;$i<(count($tempPath)-2);$i++){???
??????? $tempLinkmages .= $tempPath[$i].'/';???
??? }???
??? $xdImage = $host.$tempLinkmages;???
??? return $xdImage;???
??? //相当路径获取???
}???
???
/*??
?* 图片连接获取函数??
?* $images array 所有需要获取的images数组??
?* cssLink css文件链接??
?*/???
function getImagesLinks($imagesArray,$cssLink){???
global $host;???
$urlImages = array();???
??? foreach($imagesArray as $key=>$value){???
??????? if(pathCheck($value)){???
??????????? if((!in_array(($host.$value),$urlImages))){???
??????????????? $urlImages[$key] = $host.$value;???
??????????? }???
??????? }else{???
??????????? if((!in_array((getNocssPath(getParse($cssLink,'path')).$value),$urlImages))){???
??????????????? $urlImages[$key] = getNocssPath(getParse($cssLink,'path')).$value;???
??????????? }???
??????? }???
??? }???
??? return $urlImages;???
}???
???
/*??
?* 图片获取??
?* $urlImages需要下载的图片数组??
?*/???
function imagesDowner($urlImages){???
//print_r($urlImages);???
??? foreach($urlImages as $key=>$value){???
??????? $urlImagesOk[$key] = str_replace('//','/',$value);???
??????? $urlImagesOk[$key] = str_replace('"','',$urlImagesOk[$key]);???
??????? $urlImagesOk[$key] = str_replace("'",$urlImagesOk[$key]);???
??????? $urlImagesOk[$key] = 'http://'.$urlImagesOk[$key];???
??????? if(grabImage($urlImagesOk[$key],basename($urlImagesOk[$key]))){???
??????????? print_r(???
basename($urlImagesOk[$key]).' 文件下载成功???
');???
??????? }else{???
??????????? print_r(???
basename($urlImagesOk[$key]).'? 下载失败???
');???
??????? }???
??? }???
??? //print_r($urlImagesOk);???
}???
/*??
?* 相对路径绝对路径判定函数??
?* $imageUrl 图片链接数组??
?* true 为绝对路径??
?* false 为相当路径??
?*/???
function pathCheck($imageUrl){???
??? if(preg_match('|^(/)|',$imageUrl)){???
??????? return true;???
??? }else{???
??????? return false;???
??? }???
}???
???
/*??
?* 图片下载函数??
?* $url 图片链接??
?* $filename图片名字??
?*/???
function grabImage($url,$filename){???
??? global $savePath;????
??? if($url == '') {???
??????? return false; //如果 $url 为空则返回 false;???
???????????
??? }???
??? $ext_name = strrchr($url,'.'); //获取图片的扩展名???
??? if($ext_name != '.gif' && $ext_name != '.jpg' && $ext_name != '.bmp' && $ext_name != '.png') {???
??????? return false; //格式不在允许的范围???
???????????
??? }???
??? if($filename == '') {???
??????? return false; //名称无效???
???????????
??? }???
??? //开始捕获???
??? ob_start();???
??? if(readfile($url)){???
??????? $img_data = ob_get_contents();???
??????? ob_end_clean();???
??????? $size = strlen($img_data);???
??? }else{???
??? ob_end_clean();???
??? return false;???
??? }???
??? if(($local_file = fopen($savePath.$filename,'a'))&&(fwrite($local_file,$img_data)))???
??? {???
??????? fclose($local_file);???
??????? return true;???
??? }???
}???
/*??
?* 保存目录??
?*/???
function getSavePath($savepath){???
??? $savePath = $savepath;???
??? $savePath = dirname(__FILE__).$savePath;???
??? return $savePath;???
}???
/*??
?* 解析url??
?*/???
function getParse($host,$type){???
??? $baseurl = parse_url($host);???
??? return $baseurl[$type].'/';???
???
//echo $baseurl;???
}???
?>

希望本文所述对大家的PHP程序设计有所赞助.PHP教程

欢迎参与《:php实现的css文件背景图片下载器代码》讨论,分享您的想法,编程之家 52php.cn为您提供专业教程。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读