标志不使用PHP显示

时间:2010-07-11 15:56:45

标签: php

我正在尝试根据用户的IP地址显示国家/地区标志。以前,我工作得很好,但我觉得我不小心做错了。经过几个小时的调试,我似乎无法找到导致错误的原因。它不会抛出任何错误,但它根本不显示任何标志或任何“echo”语句。有人有建议吗?代码在下面,提前感谢。

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){$two_letter_country_code=$ranges[$key][1];break;}  
        }  
}  
if ($two_letter_country_code==""){$two_letter_country_code="unknown";}  
return $two_letter_country_code;  
$IPaddress=$_SERVER['REMOTE_ADDR'];  
$two_letter_country_code=iptocountry($IPaddress);  

include("ip_files/countries.php");  
$three_letter_country_code=$countries[ $two_letter_country_code][0];  
$country_name=$countries[$two_letter_country_code][1];  

echo "Two letters code: $two_letter_country_code<br>";  
echo "Three letters code: $three_letter_country_code<br>";  
echo "Country name: $country_name<br>";  

// To display flag  
$file_to_check="flags/$two_letter_country_code.gif";  
if (file_exists($file_to_check)){  
            echo `"<img src=$file_to_check width=30 height=15><br>"`;  
            }else{  
            echo `"<img src=flags/noflag.gif width=30 height=15><br>"`;  
            }  


}  
?>  

1 个答案:

答案 0 :(得分:3)

在函数返回语句后,你错过了一个右括号}

此外,您的代码非常紧张和狭窄。你有没有考虑过更宽敞的编码风格?它确实对眼睛有帮助,它可能会帮助你更快地发现这样的错误。