這篇文章主要介紹了PHP獲取遠程圖片并保存到本地的方法,涉及php遠程文件操作的相關技巧,需要的朋友可以參考下
本文實例講述了PHP獲取遠程圖片并保存到本地的方法。分享給大家供大家參考。具體實現方法如下:
- <?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程序設計有所幫助。
新聞熱點
疑難解答