为什么file_put_contents写的文本文件会写双行?

mrc*_*son 0 php

早上好,朋友。我一直在努力和谷歌搜索,我似乎无法找到答案。如果这里已经有人回答了但我错过了,请随时指导我了解我错过的内容。

我有以下 PHP 代码。当我在我的 Mac(和一些朋友的非 Windows 机器)上运行它时它工作正常,但是当我在 Windows 上运行它时(它将在这里工作),它会将每一行写入文本文件两次。在这里工作的 PHP 是在 IIS 6 上运行的 5.3.6。

任何帮助是极大的赞赏。

<?php

$fltSupervision = trim(htmlentities($_POST["txtSupervision"]));
$fltDrugTestUA = trim(htmlentities($_POST["txtDrugTestUA"]));
$fltAlcoholSensor = trim(htmlentities($_POST["txtAlcoholSensor"]));
$fltTotal = trim(htmlentities($_POST["txtTotal"]));
$fltSurcharge = trim(htmlentities($_POST["txtSurcharge"]));

$strTransaction = $fltSupervision . "\t" . $fltDrugTestUA . "\t" . $fltAlcoholSensor . "\t" . $fltSurcharge . "\t" . $fltTotal . PHP_EOL;
echo $strTransaction;

$file = 'fees.txt';
file_put_contents($file, $strTransaction, FILE_APPEND);

?>
Run Code Online (Sandbox Code Playgroud)

杰里米

Cas*_*sse 5

它可能与缺少 favicon.ico 有关。

尝试将 .htaccess 更改为:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l 
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.*$ index.php [NC,L]
Run Code Online (Sandbox Code Playgroud)

并尝试通过创建一个空的 .txt 文件将其重命名为 favicon.ico 来创建 favicon.ico 文件。

许多浏览器会查找 favicon.ico 文件,如果该文件不存在并且您的 .htaccess 文件设置为指向您的脚本,则该脚本将执行两次并将文本两次添加到fees.txt。