【发布时间】:2023-04-02 08:50:01
【问题描述】:
我有一个 php 页面,它从另一个页面获得响应,如图所示:
while($response!=200)
{
$response = include 'xyz.php?one='.$one.'&two='.$two.'&three='.$three.'';
}
但我的链接总是这样:
domainname.com/xyz.php?one=content&two=content&three=content
由于& 被& 取代,我遇到了找不到页面的问题。
我试过用%26直接放&而不是&,都白费了。
除了使用PHP的字符串替换功能将&删除并替换为&之外,还有其他简单的解决方案
【问题讨论】:
-
即使进行了替换,您也不应该找到未找到的页面。页面名称只有
?之前的部分,后面都是URL参数。 -
在这种情况下我会避免使用
include(),看起来您想从 HTTP(s) 请求中获取响应。您可以使用file_get_contents('http://example.com/?one=....');对于include(),请查看Example 3。另外,不确定您的$response会不会是 200... -
@MariosHadjimichael,我仍然收到警告:file_get_contents(Path) failed to open stream。
-
@Barmar,我收到警告:包含(路径)无法打开流:路径中没有这样的文件或目录。这里 xyz.php 是一个本地文件。
-
访问本地文件时不能使用 URL 参数,只有通过网络服务器访问 URL 时才有意义。