本文实例讲述了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程序设计有所帮助。