2017-08-04 18 views
1

我想將一些谷歌驅動器文件的URL與MIME類型一起保存到數據庫中。有什麼方法在JavaScript(最好)或PHP來檢查URL並找出它是什麼類型的文件? audio/mp3video/mp4等?有沒有方法從JS或PHP中的Google Drive鏈接中找出MIME類型?

這是文件有語法,但沒有告訴什麼樣的文件它只是根據網址不幸的方法:https://drive.google.com/uc?export=download&id=0B_Tg8P0D8mAYUHlrX3NWRmwwOGc

感謝線索!

+0

我認爲你應該使用'CURL'來完成這項工作。這可以處理這樣的事情。 –

+0

JavaScript或NodeJS? – Luca

回答

1

在PHP中您可以使用捲髮curl_getinfo功能與CURLINFO_CONTENT_TYPE標誌

<?php 
    // the request 
    $ch = curl_init($documentURL); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
    curl_exec($ch); 

    // get the content type 
    echo curl_getinfo($ch, CURLINFO_CONTENT_TYPE); 
?> 

你的輸出將沿text/html; charset=ISO-8859-1的線,你可以explode只獲取MIME類型:

<?php 
    $mime = explode(";", curl_getinfo($ch, CURLINFO_CONTENT_TYPE)); 

    echo $mime[0]; 
?> 
+0

謝謝!這給了我'text/html; charset = UTF-8「用於mp3文件。 cURL內置於PHP還是需要安裝任何東西?我在本地嘗試使用'$ ch = curl_init('file.mp3')時也是如此,但似乎無論我填入的鏈接如何都會顯示該消息。我猜Google雲端硬盤網址中包含重定向,是可以搞砸了嗎?另外,這個函數是下載整個文件還是隻抓取頭文件? – SeaBass

+0

我還沒有用Google Links測試過,因爲我認爲他們有正確的標題。儘管像'file.mp4'這樣的東西,對我來說至少可以正常工作 – Luca

+0

上面的代碼是否適合你?即使$ documentURL是另一個帶有http://的服務器的URL?它是加載整個文件還是隻是打開一些標題信息?謝謝! – SeaBass

相關問題