0

我正在尝试访问 php 文件,当我使用

下面的代码

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

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

}

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

谢谢你

4

3 回答 3

1

file_get_contents()用于从文件系统或绝对 URL 中读取内容。您必须指定要读取的文件的完整 URL,即http://www.example.com/template1.php?content=1。或者,如果您正在读取文件系统上的文件,则必须指定该文件的路径。

我假设您正在尝试读取您网站上的文件,因此您必须做类似file_get_contents("path/to/file.php")或更好的事情,只需使用 include 包含文件(http://php.net/manual/en/function.include.php

于 2013-04-04T12:35:35.903 回答
1

我想您想获取PHP 生成的内容,如果是这样,请使用:

$yourData = file_get_contents('http://example.com/template1.php?content=1');

否则如果要获取PHP文件的源代码,就和.txt文件一样:

$yourData = file_get_contents('/template1.php?content=1');

如果您的服务器关闭了allow_url_fopen ,则 file_get_contents() 将不起作用。由于安全风险,大多数共享网络主机默认关闭。此外,在 PHP6 中,allow_url_fopen选项将不再存在,所有函数都将作为永久设置为关闭。所以这是一个非常糟糕的使用方法。

如果您通过 http 访问文件,最好的选择是 cURL

于 2013-04-04T12:38:20.253 回答
0

如果文件名./在当前文件的当前目录中,或者../如果它在父目录中,则以文件名开头。如果您的语法没有问题,请尝试一下:

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");
}

或者

if (is_file('../template1.php')) {
    $return = file_get_contents("../template1.php?content=1");
}
于 2013-04-04T13:01:00.910 回答