通过另一个文件调用PHP函数

时间:2013-10-09 17:24:37

标签: php

我创建了一个简单的示例php文件,用于显示一些函数输出。这是代码..

<?php
// $printName = hello('samitha');
// $printHeader = pageHeader('main','on');

switch (key($_GET)){
    case 'red':
        $printHeader = pageHeader('red','on');
        $printName = hello('Joel');
        break;

    case 'blue':
        $printHeader = pageHeader('blue','off');
        $printName = hello('Duck');
        break;

    case 'yellow':
        //$printHeader = pageHeader('yellow','on');
        break;
}


function hello($name){
    return $name;
}


function pageHeader($header,$onoff){
    if ($onoff == 'on') {
        return $header."page header<br>";
    }
    else {return null;}
}

echo $printHeader;
echo $printName;

?>

此代码工作正常,没有任何问题。

当我打电话给'example.com/php/tipo34.php?red'时,它显示在屏幕上:

redpage header
Joel

当我打电话给'example.com/php/tipo34.php?blue'时,屏幕上会显示:

Duck

我试图将下面的函数放在另一个名为tipo34-req.php的php文件中,并收到以下错误:

Fatal error: Call to undefined function pageHeader() in C:\wamp\www\php\tipo34.php on line 8

我试过的代码:

<?php
// $printName = hello('samitha');
// $printHeader = pageHeader('main','on');
switch (key($_GET)){
    case 'red':
        $printHeader = pageHeader('red','on');
        $printName = hello('samitha');
        break;

    case 'blue':
        $printHeader = pageHeader('blue','off');
        $printName = hello('kalum');
        break;

    case 'yellow':
        //$printHeader = pageHeader('yellow','on');
        break;
}

include 'tipo34-req.php';

echo $printHeader;
echo $printName;

?>

tipo34-req.php代码:

<?php
function hello($name){
    global $name;
    return $name;
}

function pageHeader($header,$onoff){ global $header, $onoff
    if ($onoff == 'on') {
        return $header."page header<br>";
    }
    else {return null;}
}
?>

我该如何解决这个问题?直接在文件上使用该函数,但是当我将函数放在另一个php文件中时,它会抛出错误。

感谢。

2 个答案:

答案 0 :(得分:6)

将您的文件包含在其内容使用之上。 PHP没有意识到这些功能,因为它们稍后会包含在代码中。

include 'tipo34-req.php';

switch (key($_GET)){
    case 'red':
        $printHeader = pageHeader('red','on');
        $printName = hello('samitha');
    break;

    case 'blue':
        $printHeader = pageHeader('blue','off');
        $printName = hello('kalum');
    break;

    case 'yellow':
        //$printHeader = pageHeader('yellow','on');
    break;


}

echo $printHeader;
echo $printName;

?>

答案 1 :(得分:1)

您是否尝试在调用任何函数之前将文件包含在顶部?