一个自动保存远程图片的类

程序写得不怎么完善,如朋友修改后请发我一份。

[PHP]
<?
        /*
                远程图片自动保存到服务器上
               
                参数:
                        $info                需要处理的内容
                        $dir                图片保存的目录
                        $url                新图片链接地址
                返回值:       
                        Array[0]        所取得的图片 多个图片之间 *** 分隔.
                        Array[1]        处理后的内容

                调用试例
                        $u_images         = new u_images();
                        $arr_imgs         = $u_images->get_img($content, 'new_images/' , 'http://www.abc.com/');
                        $images         = $arr_imgs[0];   
                        $content        = $arr_imgs[1];
                       
                邮箱:userden@126.com
               
        */
        class u_images
        {
                //保存图片
                function get_img($info,$dir,$url)
                {
                        $imgs = $this->url($info);
                        $index = 1;
                        $n_file_date = date("YmdHis");
                        $sav_root = str_replace("//","/",$_SERVER['DOCUMENT_ROOT'] . "/") . $dir;
                        for($i=0;$i<sizeof($imgs);$i++)
                        {
                                $img_post = strrpos($imgs[$i],".");
                                $img_ext = substr($imgs[$i],$img_post,strlen($imgs[$i]) - $img_post);
                                $n_file = $n_file_date . $index . $img_ext;
                                $file_name = $this->save_file($imgs[$i],$n_file,$sav_root);
                                if($file_name)
                                {
                                        $index++;
                                        $value .= $file_name . "***";//需返回的数据
                                        $info = str_replace($imgs[$i],$url . $dir . $file_name,$info);//对内容进行处理
                                }
                        }
                        $image_value[0] = $value;
                        $image_value[1] = $info;
                        return $image_value;
                }
               
                //取得字等中包含的所有图片地址
                function url($info)
                {
                        $arr_imgs = array();
                        $i = 0;
                        preg_match_all("'src[\s\r\n]?=[\s\r\n]?[\\\]?[\'|\"]?(.*?\.(jpg|gif|png))[\\\]?[\'\"]?'si", $info, $arrimgs, PREG_SET_ORDER);
                        foreach($arrimgs AS $value)
                        {
                                $arr_imgs[$i++] = $value[1];
                        }
                        return $arr_imgs;
                }
               
                //保存文件
                function save_file($img,$n_file_name,$sav_root)
                {
                        $file = @fopen($img,"rb");
                        if($file)
                        {
                                if($n_file = fopen($sav_root.$n_file_name,"w"))
                                {
                                        while(!feof($file))
                                        {
                                                $buffer = fread($file,40960);
                                                fwrite($n_file, $buffer);
                                        }
                                        fclose($n_file);
                                        fclose($file);
                                        return $n_file_name;
                                }
                                else
                                {
                                        return false;
                                }
                        }
                        else
                        {
                                return false;
                        }
                       
                }
               
        }
?>
[/PHP]
我有一个好点的, 要的话QQ:107197046
书到用时方恨少, 事非经过不知难
樓上的貼出你代碼來﹐俺也看看
贴出来嘛
别不舍得啊^_^
还要千呼万唤始出来吗?
有勇气来改变可以改变的事情,有胸怀来接受不可改变的事情,有智慧来分辨两者的不同。
是不是在放蛇?
留名
最初由 phphp 发布
[B]我有一个好点的, 要的话QQ:107197046 [/B]
有好的帖出来哦,
让俺们都看看。
整个QQ多麻烦...
倉木麻衣 Mai Kuraki

★『ONE LIFE』を1月1日に発売することが決定しました。
书到用时方恨少, 事非经过不知难