亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 語言 > PHP > 正文

PHP使用CURL向遠程服務器上傳圖片的原理

2024-09-04 11:45:13
字體:
來源:轉載
供稿:網友

我們在php中上傳文件最多使用ftp來,但curl也是可以實現的這樣不需要ftp即可直接上傳了,下面一起來看看PHP使用CURL向遠程服務器上傳圖片的原理吧.

如果圖片等資源服務器是遠程的,圖片上傳可以通過cURL方式傳到遠程服務器,本文簡單介紹PHP使用cURL向遠程服務器上傳圖片的原理.

通過cURL傳送圖片代碼片段:

  1. $data = array('img'=>'@'. dirname(__FILE__).'/img/1.jpg'); 

注意,PHP5.5后不能使用@表示文件.

在文件名前加上@語法表示上傳文件,這在PHP5.3中是正常的,但是在PHP5.6中徹底廢除了@語法,導致上傳圖片無法使用.

  1. //支持遠程文件上傳 
  2. if(emptyempty($urlinfo['host'])){ 
  3.     $tmp_name=dirname($file['tmp_name']).'/'.$file['title'].'.'.$file['extension'];//加上文件后綴 
  4.     rename($file['tmp_name'],$tmp_name); 
  5.     $fields['file'] = '@'.$tmp_name;//加@符號curl就會把它當成是文件上傳處理 
  6. }else
  7.     $fields['url']=$file['tmp_name']; 

第5行,在文件名前加上@符合,curl會把它當作文件上傳處理,這在PHP5.3中是正常的,cURL上傳文件代碼如下:

  1. $ch = curl_init(); 
  2. curl_setopt($ch, CURLOPT_URL,$this->config['postUrl']); 
  3. curl_setopt($ch, CURLOPT_POST,true); 
  4. curl_setopt($ch,CURLOPT_RETURNTRANSFER,true); 
  5. curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 1); //連接超時 
  6. curl_setopt($ch, CURLOPT_POSTFIELDS,$fields); 
  7. $data=curl_exec ($ch); 
  8. $info=curl_getinfo($ch); 
  9. curl_close($ch); 

在PHP5.6中,curl中CURLOPT_POSTFIELDS參數這樣寫表示上傳文件.

  1. curl_setopt(ch, CURLOPT_POSTFIELDS, [ 
  2.     'file' => new CURLFile(realpath('image.png')),  
  3. ]); 

CURLFile方法是在PHP5.5中新加的,在PHP5.6中徹底廢除了@語法,因此要么使用PHP5.3的方式,要么使用PHP5.6的方式,兩者只能選其一,不能兼容。實在沒辦法,可以用:

if (version_compare(phpversion(), '5.4.0') >= 0)

這個函數來判斷PHP版本選擇不同的方式,但是這種方式不推薦,還是統一環境最好。

如果一定要兼容不同版本的PHP,參考以下寫法:

  1. if(emptyempty($urlinfo['host'])){ 
  2.     $tmp_name=dirname($file['tmp_name']).'/'.$file['title'].'.'.$file['extension'];//加上文件后綴 
  3.     rename($file['tmp_name'],$tmp_name); 
  4.     if(version_compare(phpversion(),'5.5.0') >= 0 && class_exists('CURLFile')){ 
  5.         $fields['file'] = new CURLFile(realpath($tmp_name)); 
  6.     }else
  7.         $fields['file'] = '@'.$tmp_name;//加@符號curl就會把它當成是文件上傳處理 
  8.     } 
  9. }else
  10.     $fields['url']=$file['tmp_name']; 
  11. $ch = curl_init(); 
  12. curl_setopt($ch, CURLOPT_URL,$this->config['postUrl']); 
  13. curl_setopt($ch, CURLOPT_POST,true); 
  14. curl_setopt($ch,CURLOPT_RETURNTRANSFER,true); 
  15. curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 1); //連接超時 
  16. curl_setopt($ch, CURLOPT_POSTFIELDS,$fields); 
  17. $data=curl_exec ($ch); 
  18. $info=curl_getinfo($ch); 
  19. curl_close($ch); 

然后遠程服務器上up.php接受請求保存圖片的代碼片段示例:

  1. if($_FILES){ 
  2.   $filename = $_FILES['img']['name']; 
  3.   $tmpname = $_FILES['img']['tmp_name']; 
  4.   if(move_uploaded_file($tmpname,dirname(__FILE__).'/upload/'.$filename)){ 
  5.      echo json_encode('上傳成功'); 
  6.   }else
  7.      $data = json_encode($_FILES); 
  8.      echo $data
  9.  } 

它實際上跟本地傳文件原理是一樣的,只是通過cURL把文件傳送過去,還是使用$_FILES來接收文件進行保存.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美成人免费一级人片100| 亚洲性无码av在线| 国产精品久久中文| 亚洲欧美日韩久久久久久| 久久久99免费视频| 精品国产乱码久久久久久天美| 91精品国产综合久久久久久蜜臀| 日本亚洲欧美三级| 欧美夫妻性生活视频| 国产在线久久久| 亚洲国产又黄又爽女人高潮的| 国产欧美精品日韩精品| 日本欧美爱爱爱| 亚洲精品欧美极品| 亚洲色图35p| 91国产美女在线观看| www.久久草.com| 91精品国产91久久久久久吃药| 91精品国产777在线观看| 亚洲欧美国产精品va在线观看| 97成人精品视频在线观看| 日本高清不卡的在线| 九九久久久久99精品| 北条麻妃一区二区三区中文字幕| 国产精品久久久久免费a∨大胸| 亚洲区一区二区| 91亚洲国产成人久久精品网站| 国外成人免费在线播放| 亚洲欧美资源在线| 亚洲色图激情小说| 亚洲人av在线影院| 国产va免费精品高清在线| 国产成人97精品免费看片| 久久伊人精品视频| 日韩欧美一区视频| 欧美成人午夜剧场免费观看| 国产精品成熟老女人| 国产一区二区精品丝袜| 欧美亚洲成人免费| 日韩精品视频在线免费观看| 国产精品999999| 丝袜亚洲欧美日韩综合| 久久九九有精品国产23| 欧洲亚洲免费在线| 欧美洲成人男女午夜视频| 欧美日韩加勒比精品一区| 91免费观看网站| 欧美性xxxxxx| 精品福利樱桃av导航| 91久热免费在线视频| 国产免费一区二区三区香蕉精| 欧美美女操人视频| 菠萝蜜影院一区二区免费| 日韩资源在线观看| 国产一区二区三区日韩欧美| 精品国产精品三级精品av网址| 亚洲高清久久久久久| 一级做a爰片久久毛片美女图片| 久久精品91久久久久久再现| 日韩电影免费在线观看| 国产精品一区av| 久久九九国产精品怡红院| 国产91精品视频在线观看| 青草青草久热精品视频在线网站| 日韩精品中文字幕久久臀| 欧美一区二区影院| 国产精品久久久久秋霞鲁丝| 日韩中文字幕国产| 51精品在线观看| 久久久久久久久久亚洲| 亚洲国产精品中文| 日韩在线免费高清视频| 国产91精品在线播放| 久久亚洲成人精品| 91精品91久久久久久| 精品性高朝久久久久久久| 777777777亚洲妇女| 国产va免费精品高清在线| 国产精品久久久久久久久粉嫩av| 97视频免费在线观看| 亚洲自拍偷拍网址| 欧美裸体男粗大视频在线观看| 在线观看亚洲区| 亚洲free性xxxx护士hd| 欧美性猛交xxxx乱大交| 欧美性资源免费| 国产亚洲在线播放| 九九热99久久久国产盗摄| 日韩免费精品视频| 亚洲第一黄色网| 久久久久久久香蕉网| 中文字幕久久久| 欧洲一区二区视频| 激情av一区二区| 欧美午夜片在线免费观看| 久久久国产精品视频| 神马久久桃色视频| 日韩精品在线播放| 国产精品久久久久久久久久99| 欧美野外wwwxxx| 国产精品久久电影观看| 欧美诱惑福利视频| 国产精品99久久久久久久久| 日韩最新中文字幕电影免费看| 8x海外华人永久免费日韩内陆视频| 日韩有码在线电影| 欧美大片欧美激情性色a∨久久| 国产精品大片wwwwww| 国产成人在线一区二区| 欧美黑人性生活视频| 精品亚洲va在线va天堂资源站| 亚洲乱码国产乱码精品精天堂| 伦伦影院午夜日韩欧美限制| 国产又爽又黄的激情精品视频| 久久免费少妇高潮久久精品99| 欧美精品久久久久久久久久| 日本视频久久久| 日韩亚洲国产中文字幕| 国产精品第10页| 久久久久女教师免费一区| 日韩中文字幕在线观看| 成人黄色网免费| 欧美性猛交xxxx| 欧美精品在线极品| 91国产视频在线| 狠狠做深爱婷婷久久综合一区| 欧美专区在线观看| 亚洲色图欧美制服丝袜另类第一页| 国产精品久久久久久久久久| 日产精品久久久一区二区福利| 国产视频自拍一区| 一本大道久久加勒比香蕉| 国产国产精品人在线视| 亚洲大胆人体视频| 国产亚洲一区二区精品| 国产精品久久久91| 中文字幕亚洲自拍| 97免费中文视频在线观看| 国产亚洲视频中文字幕视频| 国产成人高潮免费观看精品| 久久精品国产综合| 色偷偷噜噜噜亚洲男人的天堂| 成人欧美一区二区三区黑人| 久久在精品线影院精品国产| 最近2019年手机中文字幕| 国产精品对白刺激| 岛国av一区二区在线在线观看| 青青草一区二区| 51色欧美片视频在线观看| 欧美二区乱c黑人| 日韩国产欧美精品在线| 国内精品视频久久| 最近免费中文字幕视频2019| 欧美精品久久久久a| 亚洲性生活视频| 国产精品香蕉国产| 国产精品第一页在线| 色综合91久久精品中文字幕| 另类色图亚洲色图| 亚洲一区久久久| 成人午夜在线观看| 国产成人高清激情视频在线观看| 亚洲成人av资源网| 国产亚洲精品激情久久|