将远程服务器上的图片保存在自己的服务器上
2005-12-12  作者:amao  同分类文章
description:
能够自动采集信息中的图片
CODE
  1. //分析页面中含有图片的地址
  2. function getimages($str)
  3. {
  4.     $match_str = "/((http://)+([^ ()^$!`"'|[]{}<>]*)((.gif)|(.jpg)|(.bmp)|(.png)|(.GIF)|(.JPG)|(.PNG)|(.BMP)))/";
  5.     preg_match_all ($match_str,$str,$out,PREG_PATTERN_ORDER);
  6.     return $out;
  7. }


CODE
  1. //取文件的扩展名
  2. function getextension($filename)
  3. {
  4.     return substr(strrchr($filename,"."),1);
  5. }


CODE
  1. //重命名文件名称
  2. function getnewname($file)
  3. {
  4.     $ext = getextension($file);
  5.     $newname = date(His).rand(100,999).".".$ext;
  6.     return $newname;
  7. }


CODE
  1. //目标地址
  2. $url = "http://auto.163.com/special/g/gz2004b.html";
  3. //保存到本地服务器
  4. $img = getimages(join(file($url)));
  5.  
  6. set_time_limit(1200);
  7. //保存
  8. echo "共有 ".count($img[0])." 张图片<br>";
  9.  
  10. for($i=0;$i<count($img[0]);$i++)
  11. {
  12.     $data = join(file($img[0][$i]));
  13.     $newname = getnewname($img[0][$i]);
  14.     $temp_data = fopen("./save/".$newname,"w");
  15.     fwrite($temp_data,$data);
  16.     fclose($temp_data);
  17.  
  18.     flush();
  19.     echo "正在保存第 ".($i+1)." 张…<br>";
  20. }
  21. echo "<br>全部图片保存完毕";


以上就是代码啦,图片是保存在save目录下的,做新闻发布系统很有用哦。


相关
Smarty-2.6.12 FAQ 有感
让phpmailer支持中文名称的附件
适合少量php编译加密的方案
MolyX BOARD 2.5.0 多语言标准版 发布
linux远程管理工具Webmin安装指南
用PHP fsockopen写的HTTP下载的类
无限级分类
utf8字符串截取
在windows下安装apache,php,mysql
fastcgi mysql_pconnect 数据库持续链接