91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

php如何獲取遠程圖片并下載保存到本地

發布時間:2021-08-30 15:46:28 來源:億速云 閱讀:259 作者:小新 欄目:開發技術

這篇文章主要介紹php如何獲取遠程圖片并下載保存到本地,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

具體如下:

遠程圖片指的是遠端服務器上的數據我們可以通過php的許多函數來讀取下載了,這里整理了兩個可以自動下載遠程圖片并下載保存到本地的例子。

例1,可以自動識別圖片類型然后進行對應的保存

/*
*功能:php完美實現下載遠程圖片保存到本地
*參數:文件url,保存文件目錄,保存文件名稱,使用的下載方式
*當保存文件名稱為空時則使用遠程文件原來的名稱
*/
function getImage($url,$save_dir='',$filename='',$type=0){
  if(trim($url)==''){
 return array('file_name'=>'','save_path'=>'','error'=>1);
 }
 if(trim($save_dir)==''){
 $save_dir='./';
 }
  if(trim($filename)==''){//保存文件名
    $ext=strrchr($url,'.');
    if($ext!='.gif'&&$ext!='.jpg'){
  return array('file_name'=>'','save_path'=>'','error'=>3);
 }
    $filename=time().$ext;
  }
 if(0!==strrpos($save_dir,'/')){
 $save_dir.='/';
 }
 //創建保存目錄
 if(!file_exists($save_dir)&&!mkdir($save_dir,0777,true)){
 return array('file_name'=>'','save_path'=>'','error'=>5);
 }
  //獲取遠程文件所采用的方法
  if($type){
 $ch=curl_init();
 $timeout=5;
 curl_setopt($ch,CURLOPT_URL,$url);
 curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
 curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout);
 $img=curl_exec($ch);
 curl_close($ch);
  }else{
   ob_start();
   readfile($url);
   $img=ob_get_contents();
   ob_end_clean();
  }
  //$size=strlen($img);
  //文件大小
  $fp2=@fopen($save_dir.$filename,'a');
  fwrite($fp2,$img);
  fclose($fp2);
 unset($img,$url);
  return array('file_name'=>$filename,'save_path'=>$save_dir.$filename,'error'=>0);
}

例2,如果不是圖片會自動跳過

<?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("https://www.jb51.net /6648d73db0edd1e89f3d62f7.jpg", "");
if ($img):echo '<pre><img src="' . $img . '"></pre>';
//如果返回值為真,這顯示已經采集到服務器上的圖片
else:echo "false";
endif;
//否則,輸出采集失敗
?>

其實上面的下載方式小編最喜歡的不是這兩個而是curl保存異步下載圖片會比較好。

以上是“php如何獲取遠程圖片并下載保存到本地”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

php
AI

左权县| 武山县| 天等县| 手机| 黄冈市| 太谷县| 尖扎县| 合江县| 昆山市| 丹寨县| 甘孜| 宝应县| 高碑店市| 河南省| 罗甸县| 沙雅县| 天镇县| 赣榆县| 浮梁县| 南阳市| 丘北县| 渝北区| 永城市| 万安县| 平邑县| 吕梁市| 佛学| 和政县| 拉孜县| 田东县| 宜章县| 赣榆县| 嘉黎县| 安乡县| 都兰县| 资讯| 交城县| 东山县| 酉阳| 台安县| 临邑县|