包含文件时使用php函数不起作用?
我的PHP函数是包含文件时使用php函数不起作用?,php,Php,我的PHP函数是 function functionName() { include($_SERVER['DOCUMENT_ROOT']."/path/file.php"); } File.php的内容是 $foo = 'bar'; 调用函数(test.php文件的内容) 函数名() 调用函数和变量不起作用时 echo $foo; <- not works echo$foo 这是因为如果不包括定义了$foo的另一个文件,它就不能为它补值 但是在添加时包括(“/path/file.p
function functionName()
{
include($_SERVER['DOCUMENT_ROOT']."/path/file.php");
}
File.php的内容是
$foo = 'bar';
调用函数(test.php文件的内容)
函数名()
调用函数和变量不起作用时
echo $foo; <- not works
echo$foo 这是因为如果不包括定义了$foo
的另一个文件,它就不能为它补值
但是在添加时包括(“/path/file.php”)代码>其工作原理。
当然有。现在,一件重要的事情:你是否包括基于域名的信息
示例:将从包含在当前设置中。以下是如何包含工作:
/file.php
>文件位于域的根目录中。必须在域的
根
/file.php
>文件位于同一目录中
。/file.php
>文件位于父目录中
。/../file.php
>文件位于祖父母目录中
(等等)
include()
和require()
及其相关函数所做的就是包含另一个文件,就好像它是包含它们的文件的一部分一样。区别如下:
包括和要求完全相同,但失败时除外:
- require将产生一个致命错误(E_COMPILE_error),脚本将自杀
- include将只生成一个警告(E_警告),脚本将
完成其余的命令
这是因为如果不包括定义了$foo
的另一个文件,它就不能为它补值
但是在添加时包括(“/path/file.php”)代码>其工作原理。
当然有。现在,一件重要的事情:你是否包括基于域名的信息
示例:将从包含在当前设置中。以下是如何包含工作:
/file.php
>文件位于域的根目录中。必须在域的
根
/file.php
>文件位于同一目录中
。/file.php
>文件位于父目录中
。/../file.php
>文件位于祖父母目录中
(等等)
include()
和require()
及其相关函数所做的就是包含另一个文件,就好像它是包含它们的文件的一部分一样。区别如下:
包括和要求完全相同,但失败时除外:
- require将产生一个致命错误(E_COMPILE_error),脚本将自杀
- include将只生成一个警告(E_警告),脚本将
完成其余的命令
函数中处理的所有变量仅限于该函数。您可以在函数中创建无数个变量,但除了返回变量外,这些变量在函数外部不可用
function thisIsMyFunction () {
$var1 = "foo";
$var2 = "bar";
return $var1;
}
echo thisisMyFunction();
将给您“foo”,您可以将其放入变量或回显。如果您正在寻找加载多个变量(例如配置文件)的方法,则可以执行以下操作:
config.php
$config["var1"] = "foo";
$config["var2"] = "bar";
index.php
include "config.php";
function myFunction(){
global $config;
echo $config["var1"] . " " . $config["var2"];
}
myFunction();
will result in
foo bar
因此,简而言之,函数中完成的某些操作将保留在函数中,除非未定义该函数的某些输出。这就是为什么包含在函数中不起作用。函数中处理的所有变量仅限于该函数。您可以在函数中创建无数个变量,但除了返回变量外,这些变量在函数外部不可用
function thisIsMyFunction () {
$var1 = "foo";
$var2 = "bar";
return $var1;
}
echo thisisMyFunction();
function functionName()
{
global $foo;
global $bar;
include($_SERVER['DOCUMENT_ROOT']."/path/file.php");
}
functionName();
echo $foo;
echo $bar;
将给您“foo”,您可以将其放入变量或回显。如果您正在寻找加载多个变量(例如配置文件)的方法,则可以执行以下操作:
config.php
$config["var1"] = "foo";
$config["var2"] = "bar";
index.php
include "config.php";
function myFunction(){
global $config;
echo $config["var1"] . " " . $config["var2"];
}
myFunction();
will result in
foo bar
因此,简而言之,函数中完成的某些操作将保留在函数中,除非未定义该函数的某些输出。这就是为什么包含函数将不起作用。我升级了我的问题,请检查。。。您正在使用$\u服务器['DOCUMENT\u ROOT']
为什么?这将返回文件在本地操作系统中的物理路径。如果这确实是您的目标,请确保PHP具有查找此信息的权限。也不要忘记下划线。我升级了我的问题,请检查。。。您正在使用$\u服务器['DOCUMENT\u ROOT']
为什么?这将返回文件在本地操作系统中的物理路径。如果这确实是您的目标,请确保PHP具有查找此信息的权限。也不要忘记下划线。这个函数thismyFunction(){$var2=“bar”;$config[“var2”]=“bar”;}thismyFunction()如何;echo$var2@JohnSmiith为全局var设置另一个值可以从一个函数开始工作,但仅与第二个示例的思路相同。因此,全局变量必须存在并包含在要在函数中操作的函数中;echo$var2@JohnSmiith为全局var设置另一个值可以从一个函数开始工作,但仅与第二个示例的思路相同。因此,全局var必须存在并包含在函数中,以便在函数中进行操作。
function functionName()
{
global $foo;
global $bar;
include($_SERVER['DOCUMENT_ROOT']."/path/file.php");
}
functionName();
echo $foo;
echo $bar;