中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

利用php怎么實現一個css文件背景圖片下載器

發布時間:2021-02-07 20:20:07 來源:億速云 閱讀:168 作者:Leah 欄目:開發技術

今天就跟大家聊聊有關利用php怎么實現一個css文件背景圖片下載器,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

具體實現方法如下:

下載css文件里面的背景圖片是我們這些盜版份子長期搞的事情,下載個css圖片下載器常出現各種廣告彈窗,實在扛不住。這里就提供了一個php版的css文件背景圖片下載器給大家。

把文件放到php程序目錄 dos下面 php.exe cssImages.php 0 http://www.xxxx.com/css/style.css \images\

先在php程序目錄建個images文件夾,呵呵,貼代碼:

復制代碼 代碼如下:

<?php   
/**  
*@阿唐 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;   
}   
?>

看完上述內容,你們對利用php怎么實現一個css文件背景圖片下載器有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宜都市| 新余市| 法库县| 海阳市| 华安县| 镇江市| 阿尔山市| 合作市| 西充县| 扶沟县| 舟山市| 化隆| 大厂| 信阳市| 陆良县| 辽源市| 盐源县| 方山县| 宿州市| 高唐县| 洪雅县| 湄潭县| 阳高县| 长岭县| 遵义市| 象州县| 康定县| 商洛市| 琼海市| 辉县市| 乌兰察布市| 邹平县| 五台县| 德庆县| 讷河市| 拜城县| 平武县| 深圳市| 宿松县| 克拉玛依市| 万宁市|