将远程服务器上的图片保存在自己的服务器上
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目录下的,做新闻发布系统很有用哦。


相关
zend studio 5.5 改为简体中文版的办法
utf-8为什么在国外流行了
用PHP处理多个同名复选框
IBM:使用PHP将XML转换为JSON
把每个程序当作一个艺术品
通过fishbone这个项目新的东西
File_Bittorrent
php web打印解决方案
将远程服务器上的图片保存在自己的服务器上
php 生成 PDF 文件