PHP调用函数失败

时间:2013-07-10 04:32:51

标签: php function

我有两个文件。一个文件包含函数,另一个文件试图提取数据。

function.php

<?php 

    function randomString() {
    $str = "";
    $characters = array_merge(range("A","Z"),range("a","z"),range("0","9"));
    $max = count($characters) - 1;
    for ($i=0; $i < $length='8'; $i++) { 
        $rand = mt_rand(0, $max);
        $str .=$characters[$rand];
    } 
    return $str;
}
?>

fortesting.php

<?php 

    randomString(); //i'm getting this error: Fatal error: Call to undefined function randomString() "FILE NAME HERE" on line 3

?>

4 个答案:

答案 0 :(得分:1)

确保在fortesting.php中您有以下声明。

require_once "function.php";

答案 1 :(得分:1)

fortesting.php需要requireinclude function.php

<?php 
    require('function.php');
    randomString(); 
?>

答案 2 :(得分:1)

for testing.php页面应为

<?php 
require_once("path_to_file/function.php");
randomString(); 

?>

您必须包含function.php

答案 3 :(得分:1)

您尚未包含包含函数定义的文件,因此当您尝试调用它时,它在作用域中不可用。您需要使用includerequireinclude_oncerequire_once

  • include基本上会提取一个文件,并在此时添加代码/内容。这适用于导入HTML或模板文件。如果找不到该文件,PHP将发出警告但尝试继续。
  • include_onceinclude的行为相同,但它跟踪了已包含的文件。如果文件之前已被提取过,则不会包含该文件,这在包含函数定义等时非常有用,如果PHP尝试定义它们两次会导致错误。
  • requirerequire_once就像他们的包含对象一样,但如果无法提取文件会引发错误(例如,文件可能不存在)。当你需要确保代码被明确导入或者其他东西无法正常运行时(类定义,函数定义等),这些都很好。

因此,您的fortesting.php文件应如下所示:

<?php
require_once "function.php";
echo randomString();

include / require等语言构造不是函数,您可以根据个人喜好使用括号或不使用括号。也就是说,require_once "foo.php";require_once("foo.php");相同。

有关详细信息,请查看相应部分下的PHP Manual

希望这有帮助!