是否有一个原因,我得到致命错误:调用未定义的函数iptocountry()
在线 $two_letter_country_code=iptocountry($ip);
更新:我搬到$two_lettter_country_code=ipcountry($ip)
了最底层.
现在我收到这个错误:
警告:include(/ ip_files/:: 1.php):无法打开流:没有这样的文件或目录
如何删除::号码前?
if ($_SERVER['HTTP_X_FORWARDED_FOR'])
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
else
$ip = $_SERVER['REMOTE_ADDR'];
function iptocountry($ip)
{
$numbers = preg_split( "/\./", $ip);
include("/ip_files/".$numbers[0].".php");
$code=($numbers[0] * 16777216) + ($numbers[1] * 65536) + ($numbers[2] * 256) + ($numbers[3]);
foreach($ranges as $key => $value)
{
if($key<=$code)
{
if($ranges[$key][0]>=$code)
{
$country=$ranges[$key][1];break;
}
}
if ($country=="")
{
$country="unknown";
}
return $country;
}
$two_letter_country_code=iptocountry($ip);
if ($two_letter_country_code=="US")
die();
Run Code Online (Sandbox Code Playgroud)
包含文件:名称为0到200
<?php
//0-16777215
$ranges=Array(
"0" => array("16777215","ZZ"),
);
?>
Run Code Online (Sandbox Code Playgroud)
从用户定义函数的 PHP文档:
在引用函数之前不需要定义函数,除非有条件地定义函数,如下面两个示例所示.
更准确地说,当函数声明在全局空间内声明(即不在其他函数内)时,函数声明被"提升"(你可以在声明之前使用它们),但仅限于这种情况.
您的代码可以在全局空间中工作,但它可能在函数内部,因此是前向引用错误.
为了说明,以下代码正确调用,global_function但尝试调用时出现"未定义函数"错误also_global:
global_function();
function global_function()
{
also_global();
function also_global()
{
//...
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1369 次 |
| 最近记录: |