0

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

函数.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;
}
?>

测试.php

<?php 

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

?>
4

4 回答 4

1

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

require_once "function.php";
于 2013-07-10T04:34:25.540 回答
1

fortesting.php 需要requireincludefunction.php

<?php 
    require('function.php');
    randomString(); 
?>
于 2013-07-10T04:35:17.053 回答
1

fortesting.php 页面应该是

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

?>

您必须包含 function.php

于 2013-07-10T04:36:40.003 回答
1

您没有包含包含函数定义的文件,因此当您尝试调用它时它在范围内不可用。您需要使用includerequireinclude_oncerequire_once

  • include基本上是拉入一个文件,然后添加它的代码/内容。这对于导入 HTML 或模板文件很有用。如果找不到该文件,PHP 将发出警告但尝试继续。
  • include_once行为include与跟踪已包含哪些文件的添加相同。如果之前已经拉入该文件,则不会包含该文件,这在它包含函数定义等时很有用,如果 PHP 尝试定义它们两次,则会引发错误。
  • require并且require_once类似于它们的包含对应物,但是如果无法拉入文件(例如,文件可能不存在),则会引发错误。当您需要确保代码已被明确导入或无法正常运行(类定义、函数定义等)时,这些非常有用

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

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

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

有关更多信息,请查看相应部分下的PHP 手册。

希望这可以帮助!

于 2013-07-10T04:43:03.990 回答