PHP獲取遠(yuǎn)程圖片并保存到本地的方法
更新時(shí)間:2015年05月12日 11:16:20 作者:vivi
這篇文章主要介紹了PHP獲取遠(yuǎn)程圖片并保存到本地的方法,涉及php遠(yuǎn)程文件操作的相關(guān)技巧,需要的朋友可以參考下
本文實(shí)例講述了PHP獲取遠(yuǎn)程圖片并保存到本地的方法。分享給大家供大家參考。具體實(shí)現(xiàn)方法如下:
<?php
function GrabImage($url, $filename = "") {
if ($url == ""):return false;
endif;
//如果$url地址為空,直接退出
if ($filename == "") {
//如果沒(méi)有指定新的文件名
$ext = strrchr($url, ".");
//得到$url的圖片格式
if ($ext != ".gif" && $ext != ".jpg"):return false;
endif;
//如果圖片格式不為.gif或者.jpg,直接退出
$filename = date("dMYHis") . $ext;
//用天月面時(shí)分秒來(lái)命名新的文件名
}
ob_start();//打開輸出
readfile($url);//輸出圖片文件
$img = ob_get_contents();//得到瀏覽器輸出
ob_end_clean();//清除輸出并關(guān)閉
$size = strlen($img);//得到圖片大小
$fp2 = @fopen($filename, "a");
fwrite($fp2, $img);//向當(dāng)前目錄寫入圖片文件,并重新命名
fclose($fp2);
return $filename;//返回新的文件名
}
$img = GrabImage("http://imgsrc.baidu.com/baike/abpic/item/6648d73db0edd1e89f3d62f7.jpg", "");
if ($img):echo '<pre><img src="' . $img . '"></pre>';
//如果返回值為真,這顯示已經(jīng)采集到服務(wù)器上的圖片
else:echo "false";
endif;
//否則,輸出采集失敗
?>
希望本文所述對(duì)大家的php程序設(shè)計(jì)有所幫助。
相關(guān)文章
Trying to clone an uncloneable object of class Imagic的解決方法
使用網(wǎng)上流傳的一個(gè)程序?qū)崿F(xiàn)pdf截圖為png,需要使用Imagic擴(kuò)展2012-01-01
詳解PHP實(shí)現(xiàn)HTTP服務(wù)器過(guò)程
一般來(lái)講,PHP很少談到“實(shí)現(xiàn)HTTP服務(wù)”的說(shuō)法,因?yàn)閺脑缙诘腃GI到后來(lái)的PHP-FPM,官方已經(jīng)給出了最穩(wěn)定的HTTP解決方案,你只要配合一個(gè)Apache或Nginx類的服務(wù)器就能實(shí)現(xiàn)穩(wěn)定的HTTP服務(wù)2023-02-02
一個(gè)經(jīng)典實(shí)用的PHP圖像處理類分享
這篇文章主要介紹了一個(gè)經(jīng)典實(shí)用的PHP圖像處理類分享,本文提供的PHP圖像操作類可以滿足網(wǎng)站中的大部分功能需求,如圖片的縮放、加水印和裁剪等功能,需要的朋友可以參考下2014-11-11
php調(diào)用mysql存儲(chǔ)過(guò)程
php調(diào)用mysql存儲(chǔ)過(guò)程...2007-02-02
php 多進(jìn)程編程父進(jìn)程的阻塞與非阻塞實(shí)例分析
這篇文章主要介紹了php 多進(jìn)程編程父進(jìn)程的阻塞與非阻塞,結(jié)合實(shí)例形式分析了php 多進(jìn)程編程中父進(jìn)程的阻塞、等待、子進(jìn)程退出、非阻塞等相關(guān)操作技巧,需要的朋友可以參考下2020-02-02

