Home >Backend Development >PHP Tutorial >css file background image downloader code implemented in php, _PHP tutorial

css file background image downloader code implemented in php, _PHP tutorial

WBOY
WBOYOriginal
2016-07-13 10:14:32669browse

CSS file background image downloader code implemented in php,

The example in this article describes the CSS file background image downloader code implemented in PHP. Share it with everyone for your reference. The specific implementation method is as follows:

Downloading background images in css files is something we pirates have been doing for a long time. When downloading a css image downloader, various advertising pop-ups often appear, which is really unbearable. Here we provide a php version of css file background image downloader for everyone.

Put the file under dos in the php program directory php.exe cssImages.php 0 http://www.xxxx.com/css/style.css images

First create an images folder in the php program directory, haha, paste the code:

Copy code The code is as follows:
/**
*@ATANG 2013-4-6 22:19
*@Hehe
*/ 
set_time_limit(0);
error_reporting(E_ERROR);
if($argc<4){
print_r(' 
+------------------------------------------------- + 
Usage: php '.$argv[0].' css path type (0 is remote, 1 is local) css file path image saving directory
Example: 
php.exe '.$argv[0].' 0 http://www.xxx.com/index.css images
+------------------------------------------------- + 
');
exit();

//remote 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);

//Local css starts
if($argv[1]==1){
//Too lazy to write, haha, this doesn’t make much sense

/*
* css image analysis function
* $csspath css file path
*/ 
function getCssImagesArray($csspath){
$cssFile = file_get_contents($csspath);
$images = array();
Preg_match_all("|url((.+))|i",$cssFile,$images);
$images = $images[1];
Return $images;

/*
* css file relative directory processing function
* $path path
*/ 
function getNocssPath($path){
global $host;
$tempLinkmages='';
//Get the equivalent path
$tempPath = explode('/',$path);
for($i=1;$i<(count($tempPath)-2);$i++){
          $tempLinkmages .= $tempPath[$i].'/';                                                        }  
$xdImage = $host.$tempLinkmages;
Return $xdImage;
//Get the equivalent path

 
/*
* Image connection acquisition function
* $images array All the images arrays that need to be obtained
* cssLink css file link
*/ 
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;
                                                                                                                                                                If((!in_array((getNocssPath(getParse($cssLink,'path')).$value),$urlImages))){
                      $urlImages[$key] = getNocssPath(getParse($cssLink,'path')).$value;                                                                                                                                                                                             }  
Return $urlImages;

 
/*
* Image acquisition
* $urlImages is the array of images that need to be downloaded
*/ 
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]).' File download successful
');
                                                                                                                   print_r(                                     basename($urlImagesOk[$key]).' Download failed
');
                                                                      }  
//print_r($urlImagesOk);

/*
* Relative path absolute path determination function
* $imageUrl image link array
* true is the absolute path
* false is equivalent path
*/ 
function pathCheck($imageUrl){
If(preg_match('|^(/)|',$imageUrl)){
         return true;                                          }else{  
          return false;                                           }  

 
/*
* Image download function
* $url image link
* $filename picture name
*/ 
function grabImage($url, $filename){
global $savePath;
If($url == '') {
          return false; //If $url is empty, return false;                                                                       }  
$ext_name = strrchr($url, '.'); //Get the extension of the image
If($ext_name != '.gif' && $ext_name != '.jpg' && $ext_name != '.bmp' && $ext_name != '.png') {
           return false; //The format is not within the allowed range                                                                                                                    }  
If($filename == '') {
           return false; //The name is invalid                                                                                                                         }  
//Start capturing
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;                                          }  

/*
* Save directory
*/ 
function getSavePath($savepath){
$savePath = $savepath;
$savePath = dirname(__FILE__).$savePath;
Return $savePath;

/*
* Parse url
*/ 
function getParse($host,$type){
$baseurl = parse_url($host);
Return $baseurl[$type].'/';
 
//echo $baseurl;

?>

I hope this article will be helpful to everyone’s PHP programming design.

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/909332.htmlTechArticleThe css file background image downloader code implemented by php. This article describes the css file background image downloader implemented by php. code. Share it with everyone for your reference. The specific implementation method is as follows:...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn