a+ 文件模式在 php 中写入预期行数的两倍

问题描述 投票:0回答:1

当我运行以下代码时(我还没有创建 test1.txt):

<?php
    $fp= fopen("test1.txt", "a+");
    if(!fwrite($fp, "data\n")) echo "writing to file failed";
    else echo "test1.txt created/updated";
?>

我在新创建的文件test1.txt中得到以下内容

data
data

但我只期待一行。

当我在 NetBeans IDE 上创建的项目上运行相同的代码时(假设文件名为 test2.txt), 我在 test2.txt 中得到了预期的单行

我在网上查了一些有类似问题的帖子,在我看来,原因是 PHP 脚本在本地运行时执行了两次。为什么会发生这种情况? 我正在使用 Devilbox 创建本地 Web 服务器来运行 PHP 文件。

php debugging file-handling devilbox local-web-server
1个回答
0
投票

您需要在浏览器内跟踪网络水龙头中的请求以检查请求。 脚本本身是完全正常的,如果有人运行它,它将创建一个包含(数据加断行)的文件,您面临的问题是该脚本的调用。也许您在调用两次的函数内调用此函数,执行后重定向到同一页面也可以执行此操作,单击获取表单提交按钮和浏览器刷新等。很多很多。

© www.soinside.com 2019 - 2024. All rights reserved.