国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

php判斷鏈接是否是圖片

來源:懂視網 責編:小采 時間:2020-11-27 14:18:40
文檔

php判斷鏈接是否是圖片

php判斷鏈接是否是圖片:方式一直接正則匹配URL鏈接,是否是以.png.gif.jpg.jpeg結尾的。preg_match('/.*(\.png|\.jpg|\.jpeg|\.gif)$/', $url);這個是一個最簡單的方式,但是不夠精確,因為并不是所有的圖片鏈接都是以圖片名字+擴展名結尾的。方式二用CURL獲取圖片
推薦度:
導讀php判斷鏈接是否是圖片:方式一直接正則匹配URL鏈接,是否是以.png.gif.jpg.jpeg結尾的。preg_match('/.*(\.png|\.jpg|\.jpeg|\.gif)$/', $url);這個是一個最簡單的方式,但是不夠精確,因為并不是所有的圖片鏈接都是以圖片名字+擴展名結尾的。方式二用CURL獲取圖片

方式一

直接正則匹配URL鏈接,是否是以.png,.gif,.jpg,.jpeg結尾的。

preg_match('/.*(\.png|\.jpg|\.jpeg|\.gif)$/', $url);

這個是一個最簡單的方式,但是不夠精確,因為并不是所有的圖片鏈接都是以圖片名字+擴展名結尾的。

方式二

用CURL獲取圖片URL的response header

首先創建一個curl,并將頭文件的信息,作為數據流輸出

$url = "http://*************"; //圖片的鏈接地址
$ch = curl_init();
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); //是否跟著爬取重定向的頁面
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //將curl_exec()獲取的值以文本流的形式返回,而不是直接
輸出。 curl_setopt($ch, CURLOPT_HEADER, 1); // 啟用時會將頭文件的信息作為數據流輸出 curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5); //設置超時時間 curl_setopt($ch, CURLOPT_URL, $url); //設置URL $content = curl_exec($ch); $httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE); //curl的httpcode $headerSize = curl_getinfo($ch, CURLINFO_HEADER_SIZE); //獲取頭大小 curl_close($ch);

此時content中包含頭信息和圖片的二進制內容,然后根據頭的大小($headerSize)截取出頭信息,剩下的就是圖片的二進制內容了。

$headers = substr($content, 0, $headerSize); //根據頭大小截取頭信息

頭信息輸出結構如下

HTTP/1.1 200 OK
Server: JSP3/2.0.14
Date: Sun, 30 Jul 2017 06:54:47 GMT
Content-Type: image/jpeg
Content-Length: 152094
Connection: keep-alive
ETag: "7751852900776331536"
Last-Modified: Tue, 02 May 2017 10:33:16 GMT
Expires: Wed, 18 Jul 2018 06:25:38 GMT
Age: 879492
Cache-Control: max-age=31536000
Accept-Ranges: bytes
Error-Message: OK
Ohc-Response-Time: 1 0 0 0 0 0

可以看到里面有個Content-Type: image/jpeg,然后處理頭信息,取出想要的內容

$head_data=preg_split('/\n/',$headers); //逐行放入數組中
$head_data = array_filter($head_data); //過濾空數組
$headers_arr = [];
foreach($head_data as $val){ //按:分割開
 list($k,$v) = explode(":",$val); //:前面的作為key,后面的作為value,放入數組中
 $headers_arr[$k] = $v;
}
$img_type = explode("/",trim($headers_arr['Content-Type'])); //然后將獲取到的Content-Type中的值用/分隔開
if ($httpcode == 200 && strcasecmp($img_type[0],'image') == 0) {//如果httpcode為200,并且Content-type前面的部分為image,則說明該鏈接可以訪問成功,并且是一個圖片類型的
 $type = $img_type[1];
 .............
} else {//否則........
 ............
}

方式三

用PHP的get_headers() 函數,可以直接獲取響應的頭信息,但是相比于curl,不能設置超時時間。

<?php
$url = 'http://www.example.com';

print_r(get_headers($url));

print_r(get_headers($url, 1));
?>
Array
(
 [0] => HTTP/1.1 200 OK
 [1] => Date: Sat, 29 May 2004 12:28:13 GMT
 [2] => Server: Apache/1.3.27 (Unix) (Red-Hat/Linux)
 [3] => Last-Modified: Wed, 08 Jan 2003 23:11:55 GMT
 [4] => ETag: "3f80f-1b6-3e1cb03b"
 [5] => Accept-Ranges: bytes
 [6] => Content-Length: 438
 [7] => Connection: close
 [8] => Content-Type: text/html
)

Array
(
 [0] => HTTP/1.1 200 OK
 [Date] => Sat, 29 May 2004 12:28:14 GMT
 [Server] => Apache/1.3.27 (Unix) (Red-Hat/Linux)
 [Last-Modified] => Wed, 08 Jan 2003 23:11:55 GMT
 [ETag] => "3f80f-1b6-3e1cb03b"
 [Accept-Ranges] => bytes
 [Content-Length] => 438
 [Connection] => close
 [Content-Type] => text/html
)

推薦:php服務器

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

php判斷鏈接是否是圖片

php判斷鏈接是否是圖片:方式一直接正則匹配URL鏈接,是否是以.png.gif.jpg.jpeg結尾的。preg_match('/.*(\.png|\.jpg|\.jpeg|\.gif)$/', $url);這個是一個最簡單的方式,但是不夠精確,因為并不是所有的圖片鏈接都是以圖片名字+擴展名結尾的。方式二用CURL獲取圖片
推薦度:
標簽: 圖片 鏈接 判斷
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 精品久久久久久综合日本 | 国产在线精品99一卡2卡 | 美国一级大黄大色毛片视频一 | 亚洲男同在线观看 | 精品视频一区二区三区四区五区 | 国产一区精品在线观看 | 欧美日韩国产高清 | 欧美日韩一区二区三区在线 | 国产成人在线精品 | 亚洲 欧美 中文 日韩欧美 | 在线免费视频国产 | 欧美日韩在线亚洲国产人 | 亚洲高清在线观看视频 | 亚洲国产成人久久99精品 | 热久久国产欧美一区二区精品 | 日本三级一区二区三区 | 日韩视频在线观看 | 久久国产经典 | 国产成人精品免费视频大全可播放的 | 国产一级α片 | 国产高清不卡一区二区三区 | 美女一丝不佳一级毛片大屁股 | 一级毛片特黄久久免费看 | 日韩欧美不卡一区二区三区 | 国产精品香蕉在线观看 | 一区二区三区四区日韩 | 国产精品免费网站 | 亚洲国产精品免费在线观看 | 国产免费高清视频在线观看不卡 | 全免费一级午夜毛片 | 亚洲色图欧美一区 | 另类欧美日韩 | 欧美高清在线不卡免费观看 | 一区二区三区四区免费视频 | 欧美日韩1区 | 国产精品久久久久久一区二区 | 伊人精品视频在线观看 | 欧美日韩视频一区二区三区 | 国产成人99久久亚洲综合精品 | 成人国内精品久久久久影院 | 成人一级毛片 |