php获取远程图片并保存到本地

作者: 淡蓝海域 分类: php 发布时间: 2012-10-22 04:01

php获取远程图片并保存到本地,这是一个比较通用的功能。
以下函数也写的比较通用,只需要传入一段html代码。
php获取远程图片并保存到本地,这个函数一般应用在编辑器和采集器中。

 

function auto_save_image($body){
    $img_array = array();
    preg_match_all("/(src)=[\"|\'| ]{0,}(http:\/\/(.*)\.(gif|jpg|jpeg|bmp|png))[\"|\'| ]{0,}/isU", $body, $img_array);
    $img_array = array_unique($img_array[2]);
    set_time_limit(0);
    $imgPath = "uploadFiles/".date("Ym")."/";
    $milliSecond = strftime("%H%M%S",time());
    if(!is_dir($imgPath)) @mkdir($imgPath,0777);
    foreach($img_array as $key =>$value)
    {
            $value = trim($value);
            $get_file = @file_get_contents($value);
            $rndFileName = $imgPath."/".$milliSecond.$key.".".substr($value,-3,3);
            if($get_file)
            {
                    $fp = @fopen($rndFileName,"w");
                    @fwrite($fp,$get_file);
                    @fclose($fp);
            }
            $body = ereg_replace($value, $rndFileName, $body);
    }
    return $body;
}

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

发表评论