webman 如何返回类似下图的数据 ,我通过 response 似乎不可以,求教大佬们指点

echo回声

截图

1942 2 0
2个回答

JustForFun

不知道你的数据哪里来,只能猜你可能是想这样做。

$str = '840000000000000059f7176000000000';
$str .= '950000000000000005f5196000000000';
$str .= '9700000000000000f2101a6000000000';
$str .= '9800000000000000f2101a6000000000';
$str .= '9f0000000000000076b51b6000000000';
$str .= '9600000000000000b4b61b6000000000';
$str .= '8600000000000000c79c1c6000000000';

$rune = '';
for ($i = 0; $i < strlen($str)-1; $i += 2) {
    $hex = substr($str, $i, 2);
    $rune .= chr(hexdec($hex));
}

file_put_contents('text.txt', $rune);

你这编辑器应该是 sublimetext 吧,用 sublimetext 打开 text.txt 就看到效果了

  • echo回声 2021-03-23

    可能是我没有表达清楚, 我是要把这种数据返回给设备的,原生的PHP是直接echo就可以了,常驻内存后就不可以了

  • JustForFun 2021-03-23

    @7810:那就是你没搞懂php的几种运行模式了。cli 模式下 echo 输出到控制台。看手册啊,return response('xxx');

  • echo回声 2021-03-23

    webman 所有的response方法都用了

  • JustForFun 2021-03-23

    @7810:你确定你用的是 webman 吧?而不是 workerman?还有确定设备接收的时候解析的是 http 协议?我试过了,直接把我上面的代码复制到 webman/app/controler/Index.php 的 index 方法中,再将 file_put_contents('text.txt', $rune); 改成 return response($rune); 即可。如果不行,你自己调试了下吧,我的没有问题。

小阳光

你说原生的PHP是直接echo就可以了,你抓包看看原生的http数据是怎么样的,哪点不对改哪里

继承Response出来后
$this->_body = xxxx

  • 暂无评论
年代过于久远,无法发表回答
🔝