我正在尝试设置一个 PHP 片段来检查是否满足 2 个条件,如果满足,它会回显一些文本。条件是:
- 查询字符串等于某个值。
- 浏览器是 Firefox。
它正在正确检查查询字符串,但它似乎不适用于浏览器(用户代理)。见下文:
<?php
function get_user_browser()
{
$u_agent = $_SERVER['HTTP_USER_AGENT'];
$ub = '';
if(preg_match('/Firefox/i',$u_agent))
{
$ub = "firefox";
}
else
{
$ub = "other";
}
}
if (isset($_GET['print']) && $_GET['print'] != "" && $ub = 'firefox')
{
$pg = $_GET['print'];
if (!file_exists('1'))
{
echo '<b>It worked!</b>';
}
}
else
{
echo '';
}
?>
如有任何帮助,我们将不胜感激。
最佳答案
这就是我检查那些东西的方法:
if(strlen(strstr($_SERVER['HTTP_USER_AGENT'],"Firefox")) <= 0 ){ // if not firefox
//do something
}
并添加到您的代码中:
function get_user_browser()
{
$u_agent = $_SERVER['HTTP_USER_AGENT'];
$ub = '';
if(strlen(strstr($u_agent,"Firefox")) > 0 ){
$ub = 'firefox';
}
else {
$ub = 'other';
}
return $ub;
}
if (isset($_GET['print']) && $_GET['print'] != ""
&& get_user_browser() == 'firefox')
{
$pg = $_GET['print'];
if (!file_exists('1'))
{
echo '<b>It worked!</b>';
}
}
else
{
echo '';
}
关于php - 检查字符串和用户代理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6127494/