Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/280.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
Php 我的“写入”文件夹不断清空_Php_Ajax_Fopen - Fatal编程技术网

Php 我的“写入”文件夹不断清空

Php 我的“写入”文件夹不断清空,php,ajax,fopen,Php,Ajax,Fopen,我正试图使用这段代码将令牌保存到一个php文件中,但在2kb之后,该文件神秘地清空,我丢失了所有数据。为什么会发生这种情况?我如何预防它 $fh = fopen('token.txt', 'a+'); fwrite($fh, $access_token . "\n"); fclose($fh); 您提到的这个令牌数据,它来自哪里?似乎您添加到文件的次数并不比您只是写入和过度写入的次数多(我可能错了),因为我不经常写入文件。无论如何,如果这些数据是在会话、cookie、ge

我正试图使用这段代码将令牌保存到一个php文件中,但在2kb之后,该文件神秘地清空,我丢失了所有数据。为什么会发生这种情况?我如何预防它

   $fh = fopen('token.txt', 'a+');
    fwrite($fh, $access_token . "\n");
    fclose($fh);

您提到的这个令牌数据,它来自哪里?似乎您添加到文件的次数并不比您只是写入和过度写入的次数多(我可能错了),因为我不经常写入文件。无论如何,如果这些数据是在会话、cookie、get变量或某种程度上积累起来的,然后再发送到您拥有的文本文件中,这可能是其中的一些问题。正如我所知,在大多数情况下,会话、cookies和get都有一个限制,在达到该限制后,它们会以一种或另一种形式打破。因此,如果是这样的话,也许如果您的会话cookie get太大,那么处理它的操作就是将其视为null、无效、空,不管是什么情况,然后将等价物放入您要写入的文件中

不幸的是,在没有为整个脚本提供更多上下文的情况下,这些令牌是从哪里生成的,无论运行、发生或不断重复这些令牌以使它们越来越大。很难给出一个真正好的答案,也许对你有帮助。根据上面的代码,我看不出真正的限制

此外,这可能是一个windows问题(权限或其他),或服务器配置问题,或php配置问题,许多不同的变量都与此问题有关,更重要的是,它听起来像是您自己机器上的自托管开发堆栈


总之,你能给我们提供的信息越多,我们就越能提供帮助:-)

这确实很神秘。这不太可能是PHP问题,而是操作系统中发生的问题。如果您手动写入文件,它是否仍会消失?另外,
fwrite()
返回什么?你看到那边的文件了吗?它是否只在写入时消失,或者不以任何方式访问它?如果您一次写入超过2K个文件,该文件是否仍然存在,或者根本没有创建?我用垃圾填充了它,它确实清空了。当下一个条目被转储时,它被清空了。拥有>2kb不会清空文件,但是如果你写一个>2kb的文件夹,它会清空所有内容并重新开始,直到它再次达到>2kb。因此,如果文件夹是空的,并且你手动创建了一个4kb的文件(使用文本编辑器,而不是PHP),它根本不会出现?或者它是暂时出现,然后很快消失?这会发生在其他文件夹中吗?@DorothyPrice:您需要添加更多信息。重写脚本,使其一次性复制您描述的行为(例如,执行操作X次)。这还应该澄清
$access\u token
的内容,并允许其他人复制。在新代码旁边,向问题中添加确切的PHP版本和您的操作系统(这不属于注释)。也看到