在php中用加载php文件内容

在php中用加载php文件内容,php,Php,当我使用 以下代码 if(is_file('template1.php')){ $return = file_get_contents("template1.php?content=1"); } 它显示错误:无法打开流:没有这样的文件或目录 谢谢file\u get\u contents()用于从文件系统或绝对URL读取内容。您必须指定要读取的文件的完整URL,即。或者,如果您正在读取文件系统上的文件,则必须指定该文件的路径 我假设您正在尝试读取网站上的文件,因此您必须执行类似于

当我使用

以下代码

if(is_file('template1.php')){

     $return = file_get_contents("template1.php?content=1");

}
它显示错误:无法打开流:没有这样的文件或目录

谢谢

file\u get\u contents()
用于从文件系统或绝对URL读取内容。您必须指定要读取的文件的完整URL,即。或者,如果您正在读取文件系统上的文件,则必须指定该文件的路径


我假设您正在尝试读取网站上的文件,因此您必须执行类似于
文件获取内容(“path/to/file.php”)
的操作,或者更好的方法是,使用include()包含文件,我想您希望获取php生成的内容,如果是,请使用:

$yourData = file_get_contents('http://example.com/template1.php?content=1');
否则,如果要获取PHP文件的源代码,它与.txt文件相同:

$yourData = file_get_contents('/template1.php?content=1');
如果您的服务器已关闭“允许url打开”,则文件“获取内容”()将不起作用。由于存在安全风险,大多数共享web主机在默认情况下都将其关闭。此外,在PHP6中,允许url\u fopen选项将不再存在,所有功能都将像永久设置为off一样工作。所以这是一个非常糟糕的使用方法


如果通过http访问文件,最好的选择是cURL,如果文件在当前文件的当前目录中,则以
/
开头;如果文件在父目录中,则以
./
开头。如果您的语法没有问题,请尝试一下:

if (is_file('/template1.php')) {
    $return = file_get_contents("/template1.php?content=1");
}


文件是否位于其他目录中?它找它的地方不存在。请尝试使用完整路径,如
http://example.com/template1.php?content=1
谢谢你的建议,现在我使用cURL
if (is_file('./template1.php')) {
    $return = file_get_contents("./template1.php?content=1");
}
if (is_file('../template1.php')) {
    $return = file_get_contents("../template1.php?content=1");
}