搜尋
首頁php教程php手册php实现的css文件背景图片下载器代码

这篇文章主要介绍了php实现的css文件背景图片下载器代码,涉及文件与URL地址的操作,是非常实用的技巧,需要的朋友可以参考下

本文实例讲述了php实现的css文件背景图片下载器代码。分享给大家供大家参考。具体实现方法如下:

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

把文件放到php程序目录 dos下面 php.exe cssImages.php 0 \images\

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

复制代码 代码如下:

/**  
*@阿唐 2013-4-6 22:19   
*@呵呵  
*/   
set_time_limit(0);   
error_reporting(E_ERROR);   
if($argc print_r('   
 +-------------------------------------------------+   
Usage: php '.$argv[0].' css路径类型(0为远程、1为本地) css文件路径 图片保存目录   
Example:    
php.exe '.$argv[0].' 0 \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         $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程序设计有所帮助。

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器