示例1
<?php
function Piso()
{
$ip = '77.1.1.1.1';
$ip2 = $_SERVER['REMOTE_ADDR'];
return ($ip == $ip2);
}
?>
示例2
<?php
function Piso()
{
$ip = fopen("bune.txt", "r");
$ip2 = $_SERVER['REMOTE_ADDR'];
return ($ip == $ip2);
}
?>
我想从文件bune.txt中读取IP地址。如果我读它==不起作用。如果我把ip地址放在第一个例子中,那就行了。但我需要示例2来工作。 示例二不起作用,但我不知道如何读取它可以$ ip == $ ip2。感谢。
答案 0 :(得分:5)
<?php
function Piso()
{
$ip = file_get_contents("bune.txt");
$ip2 = $_SERVER['REMOTE_ADDR'];
return ($ip == $ip2);
}
?>
答案 1 :(得分:3)
假设文件中只有1个IP地址而没有其他内容:
$ip = trim(file_get_contents("bune.txt"));
答案 2 :(得分:3)
这是因为PHP的fopen()
函数返回一个文件句柄(类型resource
)以便从文件中读取(因为您传递了"r"
)。
而不是fopen()
使用将返回文件内容的简单函数file_get_contents()
。
function Piso() {
// Absolute path is faster.
$file = __DIR__ . DIRECTORY_SEPARATOR . "bune.txt";
// Confirm that the file exists and is readable.
if (is_readable($file) === false) {
return false;
}
// Use trim() to remove white space and compare read IP against remote address.
return (trim(file_get_contents($file)) == $_SERVER["REMOTE_ADDR"]);
}