CSSファイルの背景画像ダウンローダーコードはPHPで実装されています、
この記事の例では、PHP で実装された CSS ファイルの背景画像ダウンローダー コードについて説明します。参考のためにみんなで共有してください。具体的な実装方法は以下の通りです
CSS ファイルで背景画像をダウンロードすることは、私たち海賊が長い間行ってきたことです CSS 画像ダウンローダーをダウンロードすると、さまざまな広告ポップアップが頻繁に表示されますが、これは本当に耐えられません。ここでは、php バージョンの css ファイル背景画像ダウンローダーを全員に提供します。
dos php.exe cssImages.php 0 http://www.xxxx.com/css/style.css image の下の php プログラム ディレクトリにファイルを置きます
まず、php プログラム ディレクトリに画像フォルダーを作成します (笑)、コードを投稿します:
コードをコピーします コードは次のとおりです:
/**
*@ATANG 2013-4-6 22:19
*@ふふ
*/
set_time_limit(0);
エラー報告(E_ERROR)
if($argc<4){
print_r('
+------------------------------------------------ +
使用法: php '.$argv[0].' css パスの種類 (0 はリモート、1 はローカル) css ファイルのパス 画像保存ディレクトリ
例:
php.exe '.$argv[0].' http://www.xxx.com/index.css 画像
+------------------------------------------------ +
');
終了();
}
//リモートCSS
if($argv[1]==0){
$host = getParse($argv[2],'ホスト');
$savePath = getSavePath($argv[3]);
$images = getCssImagesArray($argv[2]);
//print_r($images);
$imagesurls = getImagesLinks($images,$argv[2]);
画像ダウナー($imagesurls)
}
//ローカルCSSが開始します
if($argv[1]==1){
//書くのがめんどくさい、笑、これはあまり意味がありません
}
/*
* CSS画像解析機能
* $csspath CSS ファイルのパス
*/
関数 getCssImagesArray($csspath){
$cssFile = file_get_contents($csspath);
$images = 配列();
Preg_match_all("|url((.+))|i",$cssFile,$images);
$images = $images[1]
;
$images を返します。
}
/*
* CSSファイル相対ディレクトリ処理機能
* $path パス
*/
関数 getNocssPath($path){
グローバル $ホスト
$tempLinkmages='';
// 同等のパスを取得します
$tempPath = 爆発('/',$path);
for($i=1;$i<(count($tempPath)-2);$i++){
$tempLinkmages .= $tempPath[$i].'/';
$xdImage = $host.$tempLinkmages
$xdImage を返します。
// 同等のパスを取得します
}
/*
*画像接続取得機能
* $images 配列 取得する必要があるすべての画像配列
* cssLink CSS ファイルのリンク
*/
関数 getImagesLinks($imagesArray,$cssLink){
グローバル $ホスト
$urlImages = 配列();
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;
$urlImages を返します。
}
/*
*画像取得
* $urlImages は、ダウンロードする必要がある画像の配列です
*/
関数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]).' ファイルは正常にダウンロードされました
');
print_r(
ベース名($urlImagesOk[$key])。ダウンロードに失敗しました
');
//print_r($urlImagesOk);
}
/*
※相対パス・絶対パス判定機能
* $imageUrl 画像リンク配列
* true は絶対パスです
* false は同等のパスです
*/
関数 pathCheck($imageUrl){
If(preg_match('|^(/)|',$imageUrl)){
true を返します。
}その他{
false を返す;
}
/*
*画像ダウンロード機能
* $url画像リンク
* $filename 画像名
*/
関数grabImage($url, $filename){
グローバル $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($ファイル名 == '') {
return false; // 無効な名前です。
//キャプチャ開始
Ob_start();
If(readfile($url)){
$img_data = ob_get_contents();
ob_end_clean();
$size = strlen($img_data);
}その他{
Ob_end_clean();
false を返します。
If(($local_file = fopen($savePath.$filename , 'a'))&&(fwrite($local_file, $img_data)))
fclose($local_file);
true を返します。
}
/*
* ディレクトリを保存します
*/
関数 getSavePath($savepath){
$savePath = $savepath;
$savePath = ディレクトリ名(__FILE__).$savePath;
$savePath を返します。
}
/*
* URLを解析します
*/
関数 getParse($host,$type){
$baseurl = parse_url($host);
$baseurl[$type].'/' を返します。
// $baseurl をエコーします。
}
?>
この記事で説明した内容が皆様の PHP プログラミング設計に役立つことを願っています。
http://www.bkjia.com/PHPjc/909332.html
www.bkjia.com
true
http://www.bkjia.com/PHPjc/909332.html技術記事 php で実装された css ファイル背景画像ダウンローダー コード この記事では、php で実装された css ファイル背景画像ダウンローダー コードについて説明します。参考のためにみんなで共有してください。具体的な実装方法は以下の通りです...