Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/450.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 可以使用PHP创建文件,但它赢了';t在浏览器上加载半小时_Javascript_Php_Ajax_Xml - Fatal编程技术网

Javascript 可以使用PHP创建文件,但它赢了';t在浏览器上加载半小时

Javascript 可以使用PHP创建文件,但它赢了';t在浏览器上加载半小时,javascript,php,ajax,xml,Javascript,Php,Ajax,Xml,因此,我正在制作一个基于浏览器的游戏,为了为这个游戏创建一个帐户,我让JS文件调用一个PHP文件(POST)来编写一个XML文件 这是可行的,我在cPanel中获得文件,在正确的目录中,具有正确的内容。意思是我可以打开它,但只能用cPanel。当我试图通过浏览器访问它时,我得到了一个404,但只有大约30分钟,然后它就会神奇地开始工作 游戏中稍后会调用同一个PHP文件来更新XML文件,同样的事情也会发生。我可以确认PHP完全按照它应该的方式工作,因为我可以看到文件/目录是完美的 有趣的是,如果我

因此,我正在制作一个基于浏览器的游戏,为了为这个游戏创建一个帐户,我让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);
?>
更新: 我决定直接从浏览器访问游戏目录。这变得更加有趣

我做的第一件事是创建一个名为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);
        });
    }
});