我希望将一些PHP代码转换为智能代码,但我正在努力使用功能部分。
<?php function get_client_ip_env() {
$ipaddress = '';
if (getenv('HTTP_CLIENT_IP'))
$ipaddress = getenv('HTTP_CLIENT_IP');
else if(getenv('HTTP_X_FORWARDED_FOR'))
$ipaddress = getenv('HTTP_X_FORWARDED_FOR');
else if(getenv('HTTP_X_FORWARDED'))
$ipaddress = getenv('HTTP_X_FORWARDED');
else if(getenv('HTTP_FORWARDED_FOR'))
$ipaddress = getenv('HTTP_FORWARDED_FOR');
else if(getenv('HTTP_FORWARDED'))
$ipaddress = getenv('HTTP_FORWARDED');
else if(getenv('REMOTE_ADDR'))
$ipaddress = getenv('REMOTE_ADDR');
else
$ipaddress = 'UNKNOWN';
return $ipaddress;}
$user_ip = get_client_ip_env();
$geo = unserialize(file_get_contents("http://www.geoplugin.net/php.gp?ip=$user_ip"));
$country = $geo["geoplugin_countryCode"];
if ($country == "GB") {
echo "You are from Great Britain";
} else {
echo "Please visit our other website.";
} ?>
我唯一能做的就是最后一句if语句。对此有何帮助?
答案 0 :(得分:0)
您是否可以在加载相关模板的文件中执行此逻辑,然后将其结果作为变量传递给smarty?这可能更整洁,可能 - 保持显示逻辑分离。
在回答您的问题时,您可以使用{php}
标签,这些标签允许您编写原始的PHP代码,当.tpl文件用于生成显示页面的php文件时,该代码将不受影响 - 还有一些信息here。
希望有所帮助!
答案 1 :(得分:0)
迟到了,但也许对其他人有用:
node_module