警告: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

PHP file_get_contents()不起作用

使用带有file_get_contents的FTP URL包装器时“无法打开流:操作失败”

file_get_contents 不会返回源代码