我有以下php代码:
<html>
<body>
<?php
$_GET = Array('filename' => 'scores/score.sco&scoresize=10&action=VIEW&viewtype=HTML'); // add the others here too
include('scores.php');
?>
</body>
</html>
使用此代码我试图包含此http://apps.facebook.com/krajecr/scores.php?filename=scores/score.sco&scoresize=10&action=VIEW&viewtype=HTML
直接链接有效,但您可以在此处查看包含的结果:http://apps.facebook.com/krajecr/pokus.php - error: Warning: fclose(): supplied argument is not a valid stream resource in /3w/webz.cz/p/programming/facebook/scores.php on line 9
你能帮我解决一下吗?
scores.php可在此处找到http://www.flashkit.com/tutorials/Games/High-sco-Glen_Rho-657/index.php()
这是前10行:
<?php
$winscore = (int)$winscore;
// Create a Blank File if it doesn't already exist
if (!file_exists($filename))
{
$file=fopen($filename, "w");
fclose ($file);
}
答案 0 :(得分:0)
该错误表示您尝试对不是流资源的内容执行fclose
。
假设您从$file
获得fopen
,此处唯一的情况是fopen
失败,$file
为not a stream resource,但FALSE
}。例如,如果您的网络服务器正在运行的用户没有创建该文件的权限,则可能会失败。
为函数调用添加错误检查。
我无法解释为什么当PHP通过网络执行包含请求时,这会有所不同。
修改强>
$_GET = Array('filename' => 'scores/score.sco&scoresize=10&action=VIEW&viewtype=HTML'); // add the others here too
应该是
$_GET = Array(
'filename' => 'scores/score.sco',
'scoresize' => '10',
'action' => 'VIEW',
'viewtype' => 'HTML'
);
完全尝试使用HTTP查询字符串语法无处不在;这不是世界的运作方式!
我还注意到“scores.php”似乎永远不会定义$filename
是什么。难怪文件创建失败:你永远不会给它创建一个有效的文件名!检查fopen
的返回值 - 一如既往 - 应该会显示此错误。
你可能想写$_GET['filename']
。