我有以下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 它工作得很好,我完全看到了我想看到的东西。请问哪里有问题?
答案 0 :(得分:2)
如错误所示,“scores.php?filename = scores / score.sco&amp; scoresize = 10&amp; action = VIEW&amp; viewtype = HTML”不是文件或目录。仅仅因为您可以在Web浏览器中输入查询字符串参数(“?”和之后)并不意味着它们是文件名的一部分。文件名为scores.php
。
看起来你想通过网络服务器发出请求,而不仅仅是打开本地文件。幸运的是,include
allows本身也是如此。但是,您必须指定它:
<html>
<body>
<?php include('http://someserver.com/scores.php?filename=scores/score.sco&scoresize=10&action=VIEW&viewtype=HTML'); ?>
</body>
</html>
或者(最好是保存HTTP请求),如果scores.php
位于同一个网络服务器上,您可以将其作为普通文件访问,但事先设置$_GET
参数,因为这些参数将存活通过include
指令:
<html>
<body>
<?php
$_GET = Array('filename' => 'scores/score.sco'); // add the others here too
include('scores.php');
?>
</body>
</html>
希望有所帮助。
答案 1 :(得分:0)
问题在于,当您确实需要通过Web服务器访问时,您已将其指定为通过文件系统进行访问。输入完整的网址。
更好的是,将脚本转换为包含到函数中,然后包含并调用它。
答案 2 :(得分:0)
据我所知,你不能使用带参数的include,它必须是文件名。你可以设置$ _GET ['var'] ='value';在你打电话之前包括一个有效的方式。
答案 3 :(得分:0)
你不能用get值做包含。
您可以使用
设置所有获取值$ _ GET [..] = ...
然后再做
包括( 'scores.php')