所以我正在制作一个基于浏览器的游戏,为了为这个游戏创建一个帐户,我让JS文件调用一个PHP文件(POST)来编写一个XML文件。
这很有效,我在正确的目录中使用正确的内容获取cPanel中的文件。意思是我可以打开它,但只能在cPanel中打开它。当我尝试通过浏览器访问它时,我得到一个404,但只有大约30分钟,然后它才会神奇地开始工作。
稍后在游戏中调用同样的PHP文件来更新XML文件,同样的事情也会发生。我可以确认PHP的工作原理完全正确,因为我可以看到文件/目录是完美的。
这里有趣的是,如果我手动创建XML文件或手动更新它,它会立即生效。它只是PHP文件创建的XML,需要永远加载。
就像服务器没有意识到它发生了变化,直到事后半小时。也就是说,除非我手动完成。
我的PHP:
<?php
$filename=$_POST['fileTo'];
$newfile=fopen($filename,"w")or die('Can not open');
$string=$_POST['stuff'];
fwrite($newfile,$string) or die('Could not write');
fclose($newfile);
?>
我的AJAX电话:
$.ajax({
type: 'GET',
url: writeDirect,
dataType: 'xml',
success: function(result) {
},
cache:false,
error: function(error) {
$.post('PHP/Accounts/creatAcc.php', { fileTo: userWrite, stuff: writeStuff }, function() {
signIn(userATFS, passCe);
});
}
});
更新: 我决定直接从浏览器访问游戏目录。这变得更有趣。
我做的第一件事是创建一个名为testFile的新帐户,我在GET上得到标准错误,因为游戏无法访问新创建的帐户。
然后我在Chrome中打开了目录,这很有趣:
The index clearly shows that testFile.xml exists
然后我尝试点击它,但这就是它打破的地方
The images 404 despite the file clearly existing
不,改变testFile.xml的权限并没有改变任何东西。
答案 0 :(得分:0)
我相信我找到了答案。我认为那只是那种奇怪的服务器。我使用x10 basic并决定切换到另一个服务,现在它可以工作。