2008-10-30 117 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