本文實例講述了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程序設計有所幫助。