php採集文章中的圖片獲取替換到本地實例

導語:PHP中如何把圖片替換到本地中,你知道這樣的程序要怎麼寫嗎?以下的是對php採集文章中的圖片獲取替換到本地的實現代碼進行了詳細的.分析介紹,有需要的朋友可以參考一下。

php採集文章中的圖片獲取替換到本地實例

代碼如下:

/**

* 獲取替換文章中的圖片路徑

* @param string $xstr 內容

* @param string $keyword 創建照片的文件名

* @param string $oriweb 網址

* @return string

*

*/

function replaceimg($xstr,$keyword, $oriweb){

//保存路徑

$d = date('Ymd', time());

$dirslsitss = '/var/www/weblist/uploads/'.$keyword.'/'.$d;//分類是否存在

if(!is_dir($dirslsitss)) {

@mkdir($dirslsitss, 0777);

}

//匹配圖片的src

preg_match_all('#<img.*?src="([^"]*)"[^>]*>#i', $xstr, $match);

foreach($match[1] as $imgurl){

$imgurl = $imgurl;

if(is_int(strpos($imgurl, 'http'))){

$arcurl = $imgurl;

} else {

$arcurl = $oriweb.$imgurl;

}

$img=file_get_contents($arcurl);

if(!empty($img)) {

//保存圖片到服務

$fileimgname = time()."-".rand(1000,9999).".jpg";

$filecachs=$dirslsitss."/".$fileimgname;

$fanhuistr = file_put_contents( $filecachs, $img );

$saveimgfile = "/uploads/$keyword"."/".$d."/".$fileimgname;

$xstr=str_replace($imgurl,$saveimgfile,$xstr);

}

}

return $xstr;

}