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


PHP, Reading Text File For 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';    
}

更改

$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);

你有语法错误。先修复它。 $_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';
}

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

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

正如 @Please Wait 在他的答案中指出的那样(不错的捕获(,您还需要将$_POST索引作为字符串引用,因此

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

应该是 :

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