cssファイルバックグラウンドピクチャダウンロードphp版

4153 ワード

ほほほ、cssファイルの中の背景をダウンロードするのは私达のこれらの海贼版の部分が长期にわたってやったことで、cssピクチャーのダウンロード器の各种の広告の弾窓をダウンロードして、担ぐことができなくて、ほほほ、水货のphpバージョンを书いて、间に合わせて使うことができます
phpプログラムディレクトリdosの下にファイルを置くphp.exe cssImages.php 0 http://www.itxti.net/wp-content/themes/itxti/style.css\images\
まずphpプログラムディレクトリにimagesフォルダを建てて、ほほほ
コード:
<?php
/**
*@link  http://blog.csdn.net/jsbba
*@   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;
}
?>