PHP 从 txt 文件添加对象到数组
PHP Adding objects to array from a txt file
我正在尝试将 IP 地址添加到数组,但我无法使其正常工作
有人可以看出我犯了什么错误或推荐其他解决方案吗?
$ipAddress = $_SERVER['REMOTE_ADDR'];
$include = include "ip.txt";
$array = array($include);
if (in_array($ipaddress, $array)){
echo "in array";
}
else {echo "error";}
这是 ip.txt 文件的样子(文件是 "public" 并不重要):
'IP1', 'IP2', 'IP3', 'IP4'
include
将尝试 运行 文件作为 PHP 程序。
而是使用 file_get_contents()
:
$include = file_get_contents('ip.txt');
$array = explode(', ', $include);
if (in_array("'$ipaddress'", $array)){
echo "in array";
}
因为IP地址是用'
包围的,所以在in_array()
中的指针部分也加上。
将每个 IP 地址都放在一行上会更容易。然后你可以使用 file()
其中 returns 一个包含文件行的数组。
你做错了几件事,但这应该对你有用:
<?php
$ipAddress = $_SERVER['REMOTE_ADDR'];
$include = file_get_contents("ip.txt");
$array = explode(",", str_replace("'", "", $include));
if (in_array($ipAddress, $array)) {
echo "in array";
} else {
echo "error";
}
?>
1。您必须使用 file_get_contents()
,因为 include 将首先仅包含文件,因此此纯文本位于 php 代码中,其次 returns 仅包含 true
或 false
!有关详细信息,请参阅手册:http://php.net/manual/en/function.include.php
引自那里:
Handling Returns: include returns FALSE on failure and raises a warning. Successful includes, unless overridden by the included file, return 1.
2。您必须从文件中分解字符串并删除单引号才能在数组中获取 IP
3。 PHP 变量区分大小写,所以 $ipAddress
和 $ipaddress
是两个不同的变量!有关详细信息,请参阅手册:http://php.net/manual/en/language.variables.basics.php
还有引自那里的一句话:
The variable name is case-sensitive.
我正在尝试将 IP 地址添加到数组,但我无法使其正常工作
有人可以看出我犯了什么错误或推荐其他解决方案吗?
$ipAddress = $_SERVER['REMOTE_ADDR'];
$include = include "ip.txt";
$array = array($include);
if (in_array($ipaddress, $array)){
echo "in array";
}
else {echo "error";}
这是 ip.txt 文件的样子(文件是 "public" 并不重要):
'IP1', 'IP2', 'IP3', 'IP4'
include
将尝试 运行 文件作为 PHP 程序。
而是使用 file_get_contents()
:
$include = file_get_contents('ip.txt');
$array = explode(', ', $include);
if (in_array("'$ipaddress'", $array)){
echo "in array";
}
因为IP地址是用'
包围的,所以在in_array()
中的指针部分也加上。
将每个 IP 地址都放在一行上会更容易。然后你可以使用 file()
其中 returns 一个包含文件行的数组。
你做错了几件事,但这应该对你有用:
<?php
$ipAddress = $_SERVER['REMOTE_ADDR'];
$include = file_get_contents("ip.txt");
$array = explode(",", str_replace("'", "", $include));
if (in_array($ipAddress, $array)) {
echo "in array";
} else {
echo "error";
}
?>
1。您必须使用 file_get_contents()
,因为 include 将首先仅包含文件,因此此纯文本位于 php 代码中,其次 returns 仅包含 true
或 false
!有关详细信息,请参阅手册:http://php.net/manual/en/function.include.php
引自那里:
Handling Returns: include returns FALSE on failure and raises a warning. Successful includes, unless overridden by the included file, return 1.
2。您必须从文件中分解字符串并删除单引号才能在数组中获取 IP
3。 PHP 变量区分大小写,所以 $ipAddress
和 $ipaddress
是两个不同的变量!有关详细信息,请参阅手册:http://php.net/manual/en/language.variables.basics.php
还有引自那里的一句话:
The variable name is case-sensitive.