本文实例讲述了PHP获取远程图片并保存到本地的方法。分享给大家供大家参考。具体实现方法如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
<?php function GrabImage( $url , $filename = "" ) { if ( $url == "" ): return false; endif ; //如果$url地址为空,直接退出 if ( $filename == "" ) { //如果没有指定新的文件名 $ext = strrchr ( $url , "." ); //得到$url的图片格式 if ( $ext != ".gif" && $ext != ".jpg" ): return false; endif ; //如果图片格式不为.gif或者.jpg,直接退出 $filename = date ( "dMYHis" ) . $ext ; //用天月面时分秒来命名新的文件名 } ob_start(); //打开输出 readfile( $url ); //输出图片文件 $img = ob_get_contents(); //得到浏览器输出 ob_end_clean(); //清除输出并关闭 $size = strlen ( $img ); //得到图片大小 $fp2 = @ fopen ( $filename , "a" ); fwrite( $fp2 , $img ); //向当前目录写入图片文件,并重新命名 fclose( $fp2 ); return $filename ; //返回新的文件名 } $img = GrabImage( "http://imgsrc.baidu.com/baike/abpic/item/6648d73db0edd1e89f3d62f7.jpg" , "" ); if ( $img ): echo '<pre><img src="' . $img . '"></pre>' ; //如果返回值为真,这显示已经采集到服务器上的图片 else : echo "false" ; endif ; //否则,输出采集失败 ?> |
希望本文所述对大家的php程序设计有所帮助。