国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - php將遠程圖片保存到本地服務器的實現代碼

php將遠程圖片保存到本地服務器的實現代碼

2020-11-13 13:26PHP教程網 PHP教程

有些時候我們想保存一些漂亮圖片,但又不想手動去保存下來,尤其是大批量的存儲,這個時候我們需要寫一段程序來幫助我們完成這個工作,本文介紹了php如何將遠程圖片本地化,需要的朋友可以參考下

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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
<?php
//站點根目錄
$cfg_basedir = dirname(__FILE__);
//停建目錄屬性
$cfg_dir_purview ='0755';
 /*Get請求遠程內容函數*/
 $cookie_file = dirname(__FILE__).'/cookie.txt'; //COOKIE存放地址
  function pget($url,$ref=false,$head=false){
  $curl = curl_init(); // 啟動一個CURL會話
  curl_setopt($curl, CURLOPT_URL, $url); // 要訪問的地址      
  curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); // 對認證證書來源的檢查
  curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 1); // 從證書中檢查SSL加密算法是否存在
  curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); // 模擬用戶使用的瀏覽器
  curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); // 使用自動跳轉
  if($ref){ curl_setopt($curl, CURLOPT_REFERER, $ref);//帶來的Referer
  }else{
  curl_setopt($curl, CURLOPT_AUTOREFERER, 1); // 自動設置Referer
  }
  curl_setopt($curl, CURLOPT_HTTPGET, 1); // 發送一個常規的Post請求
  curl_setopt($curl, CURLOPT_COOKIEJAR, $GLOBALS['cookie_file']); // 存放Cookie信息的文件名稱
  curl_setopt($curl, CURLOPT_COOKIEFILE,$GLOBALS ['cookie_file']); // 讀取上面所儲存的Cookie信息
  curl_setopt($curl, CURLOPT_TIMEOUT, 30); // 設置超時限制防止死循環
  curl_setopt($curl, CURLOPT_HEADER, 0); // 顯示返回的Header區域內容
  curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 獲取的信息以文件流的形式返回
  $tmpInfo = curl_exec($curl); // 執行操作
  if (curl_errno($curl)) {
 echo 'Errno'.curl_error($curl);
  }
   if($head){ $data['head']=curl_getinfo($curl);}
  curl_close($curl); // 關鍵CURL會話
  $data['data']=$tmpInfo;
  return $data; // 返回數據
}
 
 
/**
 * 創建所有目錄
 *
 * @param   string $truepath 真實地址
 * @param   string $mmode  模式
 * @return  bool
 */
if ( ! function_exists('MkdirAll'))
{
  function MkdirAll($truepath)
  { global $cfg_dir_purview;
      if(!file_exists($truepath))
      {
        mkdir($truepath, $cfg_dir_purview);
        chmod($truepath, $cfg_dir_purview);
        return true;
      }
      else
      {
        return true;
      }
  }
}
  /**
 * 獲得文章body里的外部資源
 *
 * @access  public
 * @param   string $body 文檔內容
 * @return  string
 */
function GetCurContent($body)
{
  global $cfg_multi_site,$cfg_basehost,$cfg_basedir,$cfg_image_dir,$arcID,$cuserLogin,$dsql;
  $cfg_uploaddir = '/c';
  $basehost = "http://".$_SERVER["HTTP_HOST"];
     
  $img_array = array();
  preg_match_all("/src=[\"|'|\s]{0,}(http:\/\/([^>]*)\.(gif|jpg|png))/isU",$body,$img_array);
   
  $img_array = array_unique($img_array[1]);
  $imgUrl = $cfg_uploaddir.'/'.date("ymd", time());
  $imgPath = $cfg_basedir.$imgUrl;
  if(!is_dir($imgPath.'/'))
  {
    MkdirAll($imgPath, $GLOBALS['cfg_dir_purview']);
    CloseFtp();
  }
  $milliSecond = date('His',time());
  foreach($img_array as $key=>$value)
  
    if(preg_match("#".$basehost."#i", $value))
    {
      continue;
    }
    if(preg_match("#".$basehost."#i", $value))
    {
      continue;
    }
    if(!preg_match("#^http:\/\/#i", $value))
    {
      continue;
    }
    
    $http=pget($value,'$value',true);
    $itype=($http['head']['content_type']);
    if(!preg_match("#\.(jpg|gif|png)#i", $itype))
    {
      if($itype=='image/gif')
      {
        $itype = ".gif";
      }
      else if($itype=='image/png')
      {
        $itype = ".png";
      }
      else
      {
        $itype = '.jpg';
      }
    }
    $milliSecondN = rand(1000,9999).rand(1000,9999);
    $value = trim($value);
    $rndFileName = $imgPath.'/'.$milliSecondN.'-'.$key.$itype;
    $fileurl = $imgUrl.'/'.$milliSecondN.'-'.$key.$itype;
 
    $tp = fopen($rndFileName, 'wb');
    fwrite($tp, $http['data']);
    fclose($tp);
     
    if(file_exists($cfg_basedir.$fileurl))
    {
      $info = '';
      $imginfos = GetImageSize($rndFileName, $info);
      $fsize = filesize($rndFileName);
      $body = str_replace($value, $fileurl, $body);
  
    }
  }
  return $body;
}
 
//調用方式
echo GetCurContent($body);

以上就是實現遠程圖片本地化的全部代碼,希望對大家的學習有所幫助。

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 久久久久黑人 | 亚洲精品h | 日韩av专区 | 一区二区三区高清 | 久久中文字幕一区 | 成人区精品一区二区毛片不卡 | 免费观看毛片 | 91久久91久久精品免观看 | 久久久国产精品免费观看 | 成人免费毛片嘿嘿连载视频 | 992人人草| 美女午夜影院 | 欧美一级特黄aaaaaaa在线观看 | 久久国产视频精品 | 91资源在线 | 四色成人av永久网址 | 综合在线视频 | 久热99| 精品国产乱码久久久久久丨区2区 | 91精品国产日韩91久久久久久 | 精品中文字幕在线 | 日韩视频一二 | 最近中文字幕免费观看 | 欧美在线国产 | 亚洲一区二区在线 | 精品日韩视频 | av影音资源 | 日韩一区在线视频 | 欧美在线一区二区 | 成人免费在线观看视频 | 日韩欧美一级精品久久 | 特黄特黄aaaa级毛片免费看 | 一区二区电影 | 色综合久久88色综合天天6 | 青青草国产精品 | 日本一级淫片免费看 | 四虎永久免费 | 免费观看黄色大片 | 99久久免费视频在线观看 | 丰满白嫩老熟女毛片 | 久久丝|