2012-12-17 32 views
1

我試圖從搜索後傳遞的URL結果中獲取元信息。我一直在使用OpenGraph庫以及PHP的本地get_meta_tags函數來檢索元標記。如何在讀取文件之前確定file_get_contents結構?

我的問題是,當我閱讀一個URL的內容時,碰巧是一個.m4v擴展名。該程序試圖讀取該文件的內容,但它太大(沒有提及,完全沒用,因爲它全是垃圾),我的程序拒絕讓它去。因此,我一直堅持到程序拋出超時錯誤並繼續前進。

如果文件太大,有什麼方法可以停止讀取文件的內容嗎?我試着file_get_contents()maxlen參數,但它似乎仍然通讀整個頁面。如何在我潛入這個元數據之前快速確定文件是否帶有標籤結構?

回答

2

get_headers()是你需要什麼,有一個的Content-Type的Content-Length在響應中,你可能會感興趣。 你可能想:

$headers=get_headers($url,1); 
1

使用PHP的filesize($yourFile);找到以字節爲單位的文件大小:

$size = filesize($yourFile); 
if ($size < 1000) { 
    $string = file_get_contents($yourFile); 
} 
+2

文件大小()將只與某些協議,如文件:: /但不是以http工作:// –

+1

這個問題是關於外部文件,主要是URL。 filesize()用於本地文件。 –