php实现的css文件背景图片下载器代码,
php实现的css文件背景图片下载器代码,
本文实例讲述了php实现的css文件背景图片下载器代码。分享给大家供大家参考。具体实现方法如下:
下载css文件里面的背景图片是我们这些盗版份子长期搞的事情,下载个css图片下载器常出现各种广告弹窗,实在扛不住。这里就提供了一个php版的css文件背景图片下载器给大家。
把文件放到php程序目录 dos下面 php.exe cssImages.php 0 http://www.xxxx.com/css/style.css \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 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
$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程序设计有所帮助。

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Menggunakan fail font yang dipasang di laman web baru -baru ini, saya memuat turun fon percuma dari internet dan berjaya memasangnya ke dalam sistem saya. Sekarang ...

Dalam Php8, ungkapan perlawanan adalah struktur kawalan baru yang mengembalikan hasil yang berbeza berdasarkan nilai ungkapan. 1) Ia sama dengan pernyataan suis, tetapi mengembalikan nilai dan bukannya blok pernyataan pelaksanaan. 2) Ekspresi perlawanan secara ketat (===), yang meningkatkan keselamatan. 3) Ia mengelakkan kemungkinan ketinggalan dalam penyataan suis dan meningkatkan kesederhanaan dan kebolehbacaan kod.

Apabila bilangan elemen tidak ditetapkan, bagaimana untuk memilih elemen anak pertama nama kelas yang ditentukan melalui CSS. Semasa memproses struktur HTML, anda sering menghadapi unsur yang berbeza ...

Pengendali ... (Splat) dalam PHP digunakan untuk membongkar parameter fungsi dan tatasusunan, meningkatkan kesederhanaan dan kecekapan kod. 1) Parameter Fungsi Membongkar: Lulus elemen array sebagai parameter ke fungsi. 2) Array Unpacking: Buka array ke array lain atau sebagai parameter fungsi.

Halaman H5 perlu dikekalkan secara berterusan, kerana faktor -faktor seperti kelemahan kod, keserasian pelayar, pengoptimuman prestasi, kemas kini keselamatan dan peningkatan pengalaman pengguna. Kaedah penyelenggaraan yang berkesan termasuk mewujudkan sistem ujian lengkap, menggunakan alat kawalan versi, kerap memantau prestasi halaman, mengumpul maklum balas pengguna dan merumuskan pelan penyelenggaraan.

Buat bar kemajuan menggunakan HTML5 atau CSS: Buat bekas bar kemajuan. Tetapkan lebar bar kemajuan. Buat elemen dalaman bar kemajuan. Menetapkan lebar elemen dalaman bar kemajuan. Gunakan perpustakaan JavaScript, CSS, atau Progress Bar untuk memaparkan kemajuan.

Isu keserasian limpahan berbilang baris pada terminal mudah alih yang ditinggalkan pada peranti yang berbeza apabila membangunkan aplikasi mudah alih menggunakan Vue 2.0, anda sering menghadapi keperluan untuk melimpah teks ...

H5 (HTML5) sesuai untuk aplikasi ringan, seperti halaman kempen pemasaran, halaman paparan produk dan promosi korporat mikro. Kelebihannya terletak pada platformiti silang dan interaktiviti yang kaya, tetapi batasannya terletak pada interaksi dan animasi yang kompleks, akses sumber tempatan dan keupayaan luar talian.
