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
?>
答案 0 :(得分:1)
确保在fortesting.php
中您有以下声明。
require_once "function.php";
答案 1 :(得分:1)
fortesting.php需要require
或include
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)
您尚未包含包含函数定义的文件,因此当您尝试调用它时,它在作用域中不可用。您需要使用include
,require
,include_once
或require_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 Manual。
希望这有帮助!