php - 为什么我的 php 脚本会生成 [文件名].php.[#] 文件?

标签 php file-io

我有一个 php 脚本,它异步接受 SOAP 帖子并将重新格式化的信息转发到另一个 Web 服务。这些帖子最初提交到 myPhpServer.php,即:

include('util.php');
$InvoiceNumber = (string)simplexml_load_string(file_get_contents("php://input"))->Order->InvoiceNumber;
exec("wget -bqo /dev/null --post-data 'InvoiceNumber=$InvoiceNumber' http://mysite.com/auto/myPhp.php");

这被 myPhp.php 接受,它没有任何文件写入操作,除了在最后添加到日志文件时:

file_put_contents
(
    'log.txt', 
    date('Y-M-j H:i:s T')."\t$InvoiceNumber\t".postToWebService($Order)."\n",
    FILE_APPEND
);

此过程会在此目录中生成一个名为 myPhp.php.[#] 的新文件,其中 # 从 1 开始,并在每次使用脚本时递增。因此,一段时间后,这会生成一堆无法读取的 0kb 文件,例如 myPhp.php.1、myPhp.php.2、myPhp.php.3 等。我认为罪魁祸首是上面的东西,因为它的其余部分不读取/写入外部数据。至少有什么线索会导致这种行为吗?

最佳答案

你这样做:

exec("wget -bqo /dev/null --post-data 'InvoiceNumber=$InvoiceNumber' http://mysite.com/auto/myPhp.php");

这会执行一个 wget 将 LOG(错误)消息写入/dev/null,但它会检索名为 myPhp.php 的文件,并为此创建一个文件。

阅读wget的手册页,但我认为您可以使用-O来指定输出文档,就像您使用-o一样。

关于php - 为什么我的 php 脚本会生成 [文件名].php.[#] 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11723984/

相关文章:

c++ - 我应该使用什么条件来停止文件读取循环?

cocoa - 在Cocoa中查找YUV文件格式

php - x 时间后刷新 ajax 获取的内容

php - Laravel 5.1 如何将对象的 id 传递到另一个 View 以用作另一个表中的外键?

c++ - 使用fstream时,文件的所有内容是否都加载到内存中?

javascript - 将文本文件转换为 JSON

c - C 中的文件操作给出奇怪的输出

php - 验证从 Python 客户端请求获取的 PHP 中的 CA 文件

php - 根据值查询合并记录

php - PHP 中 MySQL SELECT 查询的回显结果