PHP函数检查浏览器引用是否为空?

PHP函数检查浏览器引用是否为空?,php,Php,我正在使用这个函数 ereg('http://.',$_SERVER['HTTP_REFERER']) != 1 检查访问者是否单击了链接或是否直接进入了此特定页面 我现在知道ereg已经被弃用了,但是我不知道如何将它转换成preg_match 是否有其他方法检查referer是否为空 非常感谢 您的正则表达式只接受以http://开头的引用。因此,如果有人从https://页面导航到您的脚本,那么referer将注册为空。有什么具体原因吗 如果没有,则使用以下选项将始终有效: if (!em

我正在使用这个函数

ereg('http://.',$_SERVER['HTTP_REFERER']) != 1
检查访问者是否单击了链接或是否直接进入了此特定页面

我现在知道ereg已经被弃用了,但是我不知道如何将它转换成preg_match

是否有其他方法检查referer是否为空


非常感谢

您的正则表达式只接受以http://开头的引用。因此,如果有人从
https://
页面导航到您的脚本,那么referer将注册为空。有什么具体原因吗

如果没有,则使用以下选项将始终有效:

if (!empty($_SERVER['HTTP_REFERER']))
empty($\u SERVER['HTTP\u REFERER'])
对于空:

!empty($_SERVER['HTTP_REFERER']);
对于协议:

strlen(parse_url($_SERVER['HTTP_REFERER'], PHP_URL_SCHEME)) > 0
试试这个:

if (preg_match('#http://#', $_SERVER['HTTP_REFERER'])){
  // match found...
}
或者,如果要检查它是否为空,请使用以下函数:

if (!empty($_SERVER['HTTP_REFERER'])){
  // match found...
}