我正在尝试阅读文本文件并查明其中是否有字符串。我尝试了很多不同的方法。这就是我到目前为止所拥有的,
$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';
}
答案 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);