PHP file_exists对现有文件返回false

时间:2015-06-28 04:07:22

标签: php file-exists

我的PHP代码有点问题。我想创建一个具有不同目录的站点。每个目录都有一个名为pass(不是.txt或其他)的文件,其中包含目录密码的值。因此,如果pass文件不存在,则该组将不存在。但即使该组存在,它仍然表示该组不存在,我也不能打开该文件,但我可以找到它。这是我的代码:

<?php
$name = $_POST['name'];
$group = $_POST['group'];
$pass = $_POST['pass'];
$filename = '/groups/' . $group . '/pass';
if(file_exists($filename)){
    $handle = fopen($filename) or die("can't open file");
    $hoi = fread($handle, filesize($filename));
    fclose($handle);
    if ($pass === $hoi){
        session_start();
        $_SESSION['name'] = $name;
        header('Location: http://www.google.com');
    }
    else{
        echo 'Password is wrong!';
    }
}
else{
    echo 'Group does not exist!';
}
?>

所有POST数据都是正确的顺便说一句。谢谢你的帮助!

1 个答案:

答案 0 :(得分:0)

我认为, pass 文件必须有结尾。的例如。 .php或.html或其他东西文件名'/groups/' . $group . '/pass';错误。

PHP函数名为 file_exist(),文件必须有结尾!

如果是文件夹,它有时会在结尾处斜线。但它可以是文件。使用.htaccess重定向,在index.html或index.php上可能会在文件末尾斜杠。