警告:file_get_contents(inc-star-rating.php?id=10) [function.file-get-contents]:打开流失败:没有这样的文件或目录
Posted
技术标签:
【中文标题】警告:file_get_contents(inc-star-rating.php?id=10) [function.file-get-contents]:打开流失败:没有这样的文件或目录【英文标题】:Warning: file_get_contents(inc-star-rating.php?id=10) [function.file-get-contents]: failed to open stream: No such file or directory 【发布时间】:2012-12-15 13:05:23 【问题描述】:这是我在functions.php
中的代码:
<?php
$id = 10;
$html = file_get_contents("inc-star-rating.php?id=$id");
echo $html;
?>
这是inc-star-rating.php
的内容:
<?php
$id = $_GET['id'];
echo "<div>I have the ID of $id</div>";
?>
它们都在我服务器上的同一目录中,为什么会出现以下错误?:
警告:file_get_contents(inc-star-rating.php?id=10) [function.file-get-contents]:无法打开流:没有这样的文件或 目录
【问题讨论】:
因为没有名为inc-star-rating.php?id=10
的文件。
【参考方案1】:
inc-star-rating.php?id=10
可能不是正确的文件名。它在文件系统中可能不存在。
如果您打算通过 HTTP 请求获取 URL,则需要明确提供 完整 URL,因为它可以通过网络服务器访问:
file_get_contents("http://localhost/inc-star-rating.php?id=$id")
这是否是一个好主意是一个不同的话题。通常你想require
其他PHP文件并通过调用其中的函数来执行它们的代码,而不是发出新的HTTP请求。
【讨论】:
... 向 localhost 发出 HTTP 请求几乎可以肯定是糟糕的设计 我试过使用 fread 并给出了 samr 结果。如果它的设计不好,请告诉我一个更好的解决方案,以便我知道以供将来参考。 @scarhand 正如我所说:require_once 'inc-star-rating.php';
,然后在其中调用一些代码。了解函数和类。不一定都要经过$_GET
参数。以上是关于警告:file_get_contents(inc-star-rating.php?id=10) [function.file-get-contents]:打开流失败:没有这样的文件或目录的主要内容,如果未能解决你的问题,请参考以下文章
如何解决此警告:file_get_contents(): Unable to find the wrapper "public"?
如何修复:警告:file_get_contents(http://www.domain.com/assets/magento_img/18540_01.jpg):
访问 youtube api 时出错:“警告:file_get_contents() [function.file-get-contents]: URL > file-access is dis