PHP,读取字符串的文本文件

时间:2014-10-25 09:44:41

标签: php string

我正在尝试阅读文本文件并查明其中是否有字符串。我尝试了很多不同的方法。这就是我到目前为止所拥有的,

$file = "./userpass.txt";
$loginuser = $_POST[loginuser];
$loginpass = $_POST[loginpass];
$fileauth = file_get_contents($file);

if (strpos($file,$loginuser) !== false and strpos($file,$loginpass) !== false)  {
    echo 'Incorrect Password';
} else {
    echo 'Hello The Master';    
}

3 个答案:

答案 0 :(得分:1)

您有语法错误。先修复它。 $_POST[loginuser];应为$_POST['loginuser'];$_POST['loginpass'];strpos() $file应为$fileauth

$file = "./userpass.txt";
$loginuser = $_POST['loginuser'];
$loginpass = $_POST['loginpass'];
$fileauth = file_get_contents($file);
if (strpos($fileauth,$loginuser) !== false and strpos($fileauth,$loginpass) !== false)  {
    echo 'Incorrect Password';
}else {
    echo 'Hello The Master';
}

答案 1 :(得分:1)

您的主要问题是,您尝试在该特定文件filename中找到用户/密码组合($file),而不是搜索其内容($fileauth):< / p>

 if (strpos($fileauth,$loginuser) !== false and strpos($fileauth,$loginpass) !== false)  {

正如@Please在他的回答(好的捕获)中所指出的那样,你还需要将$_POST索引作为字符串引用,所以

$loginuser = $_POST[loginuser];
$loginpass = $_POST[loginpass];

应该是:

$loginuser = $_POST['loginuser'];
$loginpass = $_POST['loginpass'];

答案 2 :(得分:1)

变化

$loginuser = $_POST[loginuser];
$loginpass = $_POST[loginpass];

$loginuser = $_POST['loginuser'];
$loginpass = $_POST['loginpass'];

此代码读取文件内容

    $fileName   = "newfile_testing.txt";        
    $file_handle= fopen($fileName , "r");

    $theData    = fread($file_handle, filesize($fileName));

    print_r($theData);