响应本身内部的响应长度

时间:2013-04-23 10:55:09

标签: php csv response string-length

我们有一个PHP响应脚本,它输出如下字符串:

BEGIN;
00000087;
data1A;data1B;data1C;
data2A;data2B;data2C;
data3A;data3B;data3C;
END;

正如您在第2行所看到的,响应的长度是在响应本身内发送的。 (响应长度稍后用于验证目的。)

目前我们用前导零填充响应长度,总长度为8个字符,以保持计算简单。所以代码看起来像这样:

$sBegin = "BEGIN;\n";
$sData  = "data1A;data1B;data1C;\ndata2A;data2B;data2C;\ndata3A;data3B;data3C;\n";
$sEnd   = "END;";

$iPadLength = 8;
$iResponseLength = strlen($sBegin) + strlen($sData) + strlen($sEnd) + $iPadLength + strlen(";\n");

$sResponse = $sBegin . str_pad($iResponseLength, $iPadLength, "0", STR_PAD_LEFT) . ";\n" . $sData . $sEnd;
echo $sResponse;

这个解决方案看起来很脏。大多数情况下,我不喜欢填充部分,因为响应数据可能会增长,填充长度会变得太小而导致计算错误。

我想知道是否有更好的解决方案可以做到这一点,而不会改变响应的基本结构。

0 个答案:

没有答案