不知道你的数据哪里来,只能猜你可能是想这样做。
$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 就看到效果了
可能是我没有表达清楚, 我是要把这种数据返回给设备的,原生的PHP是直接echo就可以了,常驻内存后就不可以了
@7810:那就是你没搞懂php的几种运行模式了。cli 模式下 echo 输出到控制台。看手册啊,return response('xxx');
webman 所有的response方法都用了
@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
不知道你的数据哪里来,只能猜你可能是想这样做。
你这编辑器应该是 sublimetext 吧,用 sublimetext 打开 text.txt 就看到效果了
可能是我没有表达清楚, 我是要把这种数据返回给设备的,原生的PHP是直接echo就可以了,常驻内存后就不可以了
@7810:那就是你没搞懂php的几种运行模式了。cli 模式下 echo 输出到控制台。看手册啊,return response('xxx');
webman 所有的response方法都用了
@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