3

我正在尝试使用此代码将令牌保存到 php 文件中,但是在 2kb 之后,文件神秘地清空并且我丢失了所有数据。为什么会这样?我该如何预防?

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

1 回答 1

0

你说的这个token数据,是从哪里来的?由于我不经常写入文件,因此您似乎并没有更多地附加到文件而不是写入和过度写入(我可能是错的)。无论如何,如果这些数据是在会话或 cookie 或 get 变量之类的东西中累积的,或者在拍摄到您拥有的文本文件之前的程度,那可能是那里的一些问题。据我所知,在大多数情况下,会话、cookie 和获取都有一个限制,在达到所述限制之后,它们会以一种或另一种形状形式中断。因此,如果是这种情况,也许如果您的会话、cookie、get 太大,则对其执行某些操作的操作是将其视为 null、无效、空,无论如何,然后将该等价物放入您写入的文件中。 .

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

此外,这可能是 Windows 问题(权限或其他问题)、服务器配置问题或 php 配置问题,许多不同的变量与此问题相关,听起来更像是您的自托管开发堆栈自己的机器。

因此,总而言之,您可以提供给我们的信息越多,我们就越能提供帮助 :-)

于 2012-10-11T07:13:30.647 回答