国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > 建站經驗 > 正文

PHP遠程采集圖片詳細教程

2019-11-02 14:12:18
字體:
來源:轉載
供稿:網友

當我們需要采集網絡上的某個網頁內容時,如果目標網站上的圖片做了防盜鏈的話,我們直接采集過來的圖片在自己網站上是不可用的。那么我們使用程序將目標網站上的圖片下載到我們網站服務器上,然后就可調用圖片了。

本文將使用PHP實現采集遠程圖片功能。基本流程:
1、獲取目標網站圖片地址。
2、讀取圖片內容。
3、創建要保存圖片的路徑并命名圖片名稱。
4、寫入圖片內容。
5、完成。
我們通過寫幾個函數來實現這一過程。
函數make_dir()建立目錄。判斷要保存的圖片文件目錄是否存在,如果不存在則創建目錄,并且將目錄設置為可寫權限。
 
復制代碼 代碼如下:function make_dir($path){
    if(!file_exists($path)){//不存在則建立
        $mk=@mkdir($path,0777); //權限
        @chmod($path,0777);
    }
    return true;
}
函數read_filetext()取得圖片內容。使用fopen打開圖片文件,然后fread讀取圖片文件內容。
復制代碼 代碼如下:
function read_filetext($filepath){
    $filepath=trim($filepath);
    $htmlfp=@fopen($filepath,"r");
    //遠程
    if(strstr($filepath,"://")){
        while($data=@fread($htmlfp,500000)){
            $string.=$data;
        }
    }
    //本地
    else{
        $string=@fread($htmlfp,@filesize($filepath));
    }
    @fclose($htmlfp);
    return $string;
}
函數write_filetext()寫文件,將圖片內容fputs寫入文件中,即保存圖片文件。
復制代碼 代碼如下:
function write_filetext($filepath,$string){
    //$string=stripSlashes($string);
    $fp=@fopen($filepath,"w");
    @fputs($fp,$string);
    @fclose($fp);
}
函數get_filename()獲取圖片名稱,也可以自定義要保存的文件名。
復制代碼 代碼如下:
function get_filename($filepath){
    $fr=explode("/",$filepath);
    $count=count($fr)-1;
    return $fr[$count];
}
然后將幾個函數組合,在函數save_pic()中調用,最后返回保存后的圖片路徑。
復制代碼 代碼如下:
function save_pic($url,$savepath=''){
    //處理地址
    $url=trim($url);
    $url=str_replace(" ","%20",$url);
    //讀文件
    $string=read_filetext($url);
    if(empty($string)){
        echo '讀取不了文件';exit;
    }
    //文件名
    $filename = get_filename($url);

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 枣庄市| 灵寿县| 镇康县| 阿巴嘎旗| 霍林郭勒市| 五华县| 灵台县| 阿坝县| 金平| 三门峡市| 武清区| 云浮市| 运城市| 班玛县| 长阳| 永年县| 隆德县| 阳原县| 延庆县| 浮山县| 蒙自县| 西华县| 宜城市| 屏东县| 桓台县| 大竹县| 承德县| 兴和县| 尼勒克县| 阜南县| 南平市| 屏山县| 丹棱县| 乌恰县| 开封市| 凤城市| 南丹县| 钦州市| 竹溪县| 博湖县| 汉阴县|