php 生成xml字符串,请问PHP用拼接字符串的形式生成xml文件为什么会丢失数据?

核心代码:

$orderCount = 0; //实际订单推送订单数量

foreach ($newData as $key => $val)

{

$str .= " \r\n";

$str .= " {$val['lp_number']}\r\n";//LP号

$str .= " {$val['pdf_url']}\r\n";//面单地址

$str .= " \r\n";

foreach ($val['goods'] as $value) {

$str .= " \r\n";

$str .= " {$value['sku_number']}\r\n";//条形码

$str .= " {$value['external_product_id']}\r\n";//天猫ID

$str .= " {$value['sku_name']}\r\n";//,名称

$str .= " {$value['count']}\r\n";//数量

$str .= " \r\n";

}

/*

* step4 生成时间

*/

OrderFinally::updateAll(

[

'is_success' => '1',

'convert_num' => '1',

'update_time' => date('Y-m-d H:i:s', time())

],

[

'order_number'=>$val['order_number']

]);

$str .= " \r\n";

$str .= " \r\n";

$orderCount++;

}

$str .= " \r\n";

$str .= "\r\n";

$fullPath = $path . "/{$fileName}"; //文件的全路径

$file = fopen($fullPath, 'w');

fwrite($file, $str);

fclose($file);

生成的xml格式

8407e944fb40482b919d66d04856109d.png

这是一个定时脚本任务,自动执行的时候,它会有一定的概率少数据,手动执行的时候数据都是正常的.

比如一个订单下的实际商品是7个,但是最后生成XML文件的时候,商品只有5个了.

目前判断脚本本身应该是没问题的,请教各位还有哪种原因会造成偶发性的丢失数据.(推测过可能是服务器硬盘有坏道造成的偶发性丢失数据,但是感觉也不像~)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值