簡體   English   中英

如何分辨不帶擴展名的圖像文件類型? 它們如何工作?

[英]How can I tell the filetype of images without extension? How do they work?

我正在處理網絡上沒有文件擴展名的圖像,如下所示:

https://static1.squarespace.com/static/52a74d9ae4b0253945d2aee9/t/52ed63b1e4b04368c021b921/1463088116168/?format=500w

可以在例如Squarespace制作的網站上找到類似此類的圖像,例如此演示: https ://bedford-demo.squarespace.com/

我正在嘗試使用PHP下載這些圖像並將其存儲在服務器上。 但是,如何找到這些圖像的實際URL? 這是如何運作的? 我怎么知道這個圖像的文件類型? 這是什么法術?

任何提示表示贊賞!

快速回答:

要找出針對任何URL返回的Content-Type ,請查看以下答案:
獲取PHP中請求URL的Content-Type


為什么需要Content-Type

就像不是互聯網上的每個網頁都沒有以.html結尾的URL一樣,圖像也不需要在其URL中帶有“擴展名”。

HTTP瀏覽器中的Content-Type標頭決定了瀏覽器是否將從URL檢索的數據視為圖像。

您發布的URL返回以下HTTP標頭:

在此處輸入圖片說明

對於HTML文檔, Content-Typetext/html 通過在瀏覽器中打開開發人員控制台的“ 網絡”選項卡,可以在瀏覽時檢查標題。 查找“響應頭”。

您可以使用getimagesize獲得文件的mime類型:

<?php
$size = getimagesize("https://static1.squarespace.com/static/52a74d9ae4b0253945d2aee9".
            "/t/52ed63b1e4b04368c021b921/1463088116168/?format=500w");
print_r($size["mime"]);
?>

印刷品:

image/jpeg

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM