可以使用PHP创建文件,但它不会在浏览器上加载半小时

时间:2017-09-03 05:22:04

标签: javascript php ajax xml

所以我正在制作一个基于浏览器的游戏,为了为这个游戏创建一个帐户,我让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的权限并没有改变任何东西。

1 个答案:

答案 0 :(得分:0)

我相信我找到了答案。我认为那只是那种奇怪的服务器。我使用x10 basic并决定切换到另一个服务,现在它可以工作。