龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > php编程 >

php采集网页替换图片

时间:2014-07-08 02:35来源:网络整理 作者:网络 点击:
分享到:
php采集网页替换图片 [代码片段(50行)]
/**
 * 获取替换文章中的图片路径
 * @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; //分类是否存在
    $dirslsitss = './uploads'; 
    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;
            $saveimgfile = "/uploads/" . $fileimgname;

            $xstr = str_replace($imgurl, $saveimgfile, $xstr);
        } 
    } 
    return $xstr;
}
//该片段来自于http://outofmemory.cn
精彩图集

赞助商链接