如何验证file_get_contents()?

时间:2014-01-13 18:05:12

标签: php file-io file-get-contents

我的网站中有一个文件,例如:http://example.com/name.txt

我想检查一下这个文件是否存在于函数内部,所以我做了这个

<?php

function checkFile($fileUrl){
   if(!is_file($fileUrl) || !is_readable($fileUrl)){
    return 'This is not valid file';
   }

}

由于checkFile('http://example.com/name.txt');表示无法归档文件,我还尝试使用此方法进行检查。

function checkFile($fileUrl){
       $file = file_get_contents($fileUrl); 
       if(empty){
         return 'File not found or empty';
       }
    }

但这两种方法都给我错误,因为找不到文件。我确定文件在那里,那么如何在线检查文件是否存在?

2 个答案:

答案 0 :(得分:2)

或者,您可以检查来自服务器的响应标头,如果404,则使用函数

不存在文件

<强> get_headers()

http://us1.php.net/manual/en/function.get-headers.php

$file = 'http://www.domain.com/somefile.jpg';
$file_headers = @get_headers($file);
if($file_headers[0] == 'HTTP/1.1 404 Not Found') {
    $exists = false;
}
else {
    $exists = true;
}

答案 1 :(得分:1)

function checkFile($fileUrl) {
    if (!file_exists($fileUrl)) {
        return 'This file is not a valid file.';
    }
}

旁注这仅适用于PHP 5 http://us1.php.net/manual/en/function.file-exists.php