繁体   English   中英

php无法打开流 - 没有这样的文件或目录

[英]php failed to open stream - no such file or directory

我有以下PHP代码:

<html><body>

    <?php include('scores.php?filename=scores/score.sco&scoresize=10&action=VIEW&viewtype=HTML'); ?>
</body>
</html>

你可以在这里看到结果: http//apps.facebook.com/krajecr/pokus2.php

如你所见,它告诉我,它不存在。 但是,如果我只使用链接: http//apps.facebook.com/krajecr/scores.php?filename = scores / score.sco&scoresize = 10&action = view&viewtype = HTML,它工作得很好,我完全看到了我想看到的内容。 请问哪里有问题?

如错误所示,“scores.php?filename = scores / score.sco&scoresize = 10&action = VIEW&viewtype = HTML”不是文件或目录。 仅仅因为您可以在Web浏览器中输入查询字符串参数(“?”和之后)并不意味着它们是文件名的一部分。 文件名是scores.php

看起来你想通过网络服务器发出请求,而不仅仅是打开一个本地文件。 幸运的是, include 允许原生 但是,您必须指定它:

<html>
  <body>
    <?php include('http://someserver.com/scores.php?filename=scores/score.sco&scoresize=10&action=VIEW&viewtype=HTML'); ?>
  </body>
</html>

或者(最好是保存HTTP请求),如果scores.php在同一个Web服务器上,您可以将其作为普通文件访问,但事先设置$_GET参数,因为这些参数将通过include指令生存:

<html>
  <body>
    <?php
    $_GET = Array('filename' => 'scores/score.sco'); // add the others here too
    include('scores.php');
    ?>
  </body>
</html>

希望有所帮助。

问题是,当您确实需要通过Web服务器访问它时,您已将其指定为通过文件系统进行访问。 输入完整的URL。

更好的是,将脚本转换为包含到函数中,然后包含并调用它。

据我所知,你不能使用带参数的include,它必须是文件名。 你可以设置$ _GET ['var'] ='value'; 在你打电话之前包括一个有效的方式。

你不能用get值来包含。

您可以设置所有urss获取值

$ _GET [..] = ...

然后呢

包括( 'scores.php')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM