2008-10-30 113 views
3

什麼是最好的方式來檢查給定的網址指向一個有效的文件(即不返回404/301 /等)?我有一個腳本可以在頁面上加載某些.js文件,但我需要一種方法來驗證它接收到的每個URL指向一個有效的文件。URL的等效is_file()函數?

我還在摸索PHP手冊,看看哪些文件功能(如果有的話)實際上可以與遠程URL一起工作。我會編輯我的帖子,因爲我發現更多的細節,但如果任何人已經在這條路上隨意編入英寸

回答

5

的的file_get_contents是位過沖的目的,因爲它是足有HTTP頭做出的決定,所以你需要使用捲曲這樣做:

<?php 
// create a new cURL resource 
$ch = curl_init(); 

// set URL and other appropriate options 
curl_setopt($ch, CURLOPT_URL, "http://www.example.com/"); 
curl_setopt($ch, CURLOPT_HEADER, 1); 
curl_setopt($ch, CURLOPT_NOBODY, 1); 

// grab URL and pass it to the browser 
curl_exec($ch); 

// close cURL resource, and free up system resources 
curl_close($ch); 
?> 
0

一個這樣的方式將是請求URL並獲得狀態碼爲200除此之外,實際上沒有什麼好方法,因爲服務器可以選擇處理請求,但它喜歡(包括爲存在的文件提供其他狀態代碼,但由於多種原因無法訪問) 。

0

如果您的服務器沒有啓用fopen包裝(任何具有體面安全性的服務器都不會),那麼您將不得不使用CURL functions