Javascript 可以使用PHP创建文件,但它赢了';t在浏览器上加载半小时
因此,我正在制作一个基于浏览器的游戏,为了为这个游戏创建一个帐户,我让JS文件调用一个PHP文件(POST)来编写一个XML文件 这是可行的,我在cPanel中获得文件,在正确的目录中,具有正确的内容。意思是我可以打开它,但只能用cPanel。当我试图通过浏览器访问它时,我得到了一个404,但只有大约30分钟,然后它就会神奇地开始工作 游戏中稍后会调用同一个PHP文件来更新XML文件,同样的事情也会发生。我可以确认PHP完全按照它应该的方式工作,因为我可以看到文件/目录是完美的 有趣的是,如果我手动创建或更新XML文件,它会立即工作。只有PHP文件创建的XML才需要永久加载 就好像服务器直到事情发生半小时后才意识到它发生了变化。也就是说,除非我手动操作 我的PHP:Javascript 可以使用PHP创建文件,但它赢了';t在浏览器上加载半小时,javascript,php,ajax,xml,Javascript,Php,Ajax,Xml,因此,我正在制作一个基于浏览器的游戏,为了为这个游戏创建一个帐户,我让JS文件调用一个PHP文件(POST)来编写一个XML文件 这是可行的,我在cPanel中获得文件,在正确的目录中,具有正确的内容。意思是我可以打开它,但只能用cPanel。当我试图通过浏览器访问它时,我得到了一个404,但只有大约30分钟,然后它就会神奇地开始工作 游戏中稍后会调用同一个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);
?>
更新:
我决定直接从浏览器访问游戏目录。这变得更加有趣
我做的第一件事是创建一个名为testFile的新帐户,因为游戏无法访问新创建的帐户,所以我在get上得到了标准错误
然后我在Chrome中打开了目录,这很有趣:
然后我试着点击它,但这就是它断裂的地方
不,更改testFile.xml上的权限并没有改变任何事情。我相信我已经找到了答案。我想只是那个服务器有点奇怪。我正在使用x10 basic,并决定切换到其他服务,现在它可以工作了。我相信我已经找到了答案。我想只是那个服务器有点奇怪。我使用的是x10 basic,并决定切换到另一个服务,现在它可以工作。可能是文件路径或文件权限。如果您没有托管在VIC20上,或者您的xml有10000行,则没有理由花费很长时间。也许在请求过程中,在开发者控制台(chrome中的ctrl-shift J)中观察网络可能会有所帮助。@deg我看了看网络,一切似乎都正常。我认为它可以很好地处理请求,但服务器直到大约30分钟后才意识到创建了任何文件。但是,我手动创建的任何xml文件都会立即显示出来。该死的,这是我最坏想法的25倍。你可能想开始为问题添加代码。可能是文件路径或文件权限。如果你没有托管在VIC20上,或者你的xml有10000行,那么就没有理由花费很长时间。也许在请求过程中,在开发者控制台(chrome中的ctrl-shift J)中观察网络可能会有所帮助。@deg我看了看网络,一切似乎都正常。我认为它可以很好地处理请求,但服务器直到大约30分钟后才意识到创建了任何文件。但是,我手动创建的任何xml文件都会立即显示出来。该死的,这是我最坏想法的25倍。您可能需要开始为问题添加代码。
$.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);
});
}
});