Php 为什么不是';t我的变量和函数是从includes文件识别的

Php 为什么不是';t我的变量和函数是从includes文件识别的,php,function,include,Php,Function,Include,以下是名为“VariablesFunctions.php”的包含文件: $currWebPage = ''; function getPageUrl( ) { global $currWebPage; if( $_SERVER['HTTPS'] == 'on' ) $currWebPage .= 's'; $currWebPage .= '://'; if( $_SERVER["SERVER_PORT"] != "80" ) $currWebPa

以下是名为“VariablesFunctions.php”的包含文件:

$currWebPage = '';
function getPageUrl( )
{
    global $currWebPage; 
    if( $_SERVER['HTTPS'] == 'on' ) $currWebPage .= 's';
    $currWebPage .= '://';
    if( $_SERVER["SERVER_PORT"] != "80" )
        $currWebPage .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
    else $currWebPage .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
}  
下面是调用它的文件(index.php):

<?php include( 'VariablesFunctions.php' );
      getPageUrl( );
  echo $currWebPage;
?>


这两个文件都保存在同一个目录中,启动index.php文件时,浏览器会显示undefined函数(index.php文件中的第2行),为什么?

这有时意味着include\u路径中的其他位置存在另一个同名的include文件(旧版本或备份版本)。要避免这种情况,请使用显式路径并强制其可靠地发生故障:

<?php require('./VariablesFunctions.php');
    getPageUrl();

浏览器没有说明找不到
文件的情况吗。相反,它会将VariablesFunctions.php的全部内容复制到调用它的地方,这是为什么呢?因为您使用的不是您在此处发布的没有解决问题的代码。上面的代码还有一个问题,就是VariablesFunctions.php的全部内容都被复制到了我调用文件的地方,这是为什么?@dave:你忘了
Holy moly,你完全正确!你得到了最好的答案,非常感谢。