【原创】解决json_encode处理resource类型数据后数据丢失的问题

blogdaren 2020-07-27 抢沙发 55人次

问题背景:

不出意外,如下代码运行结果肯定为空:

<?php
$data = file_get_contents("/path/to/phpcreeper.png");
var_dump(json_encode($data));

问题原因:

粗心好多年,翻手册发现明确说明 json_encode(mixed $value) 的第一个参数$value只能是除resource以外的任何数据类型,并且只能接受 UTF-8 编码的数据,即不能是resource资源类型。

解决方案:

难道就没解决方案了吗? 不,我们可以曲线救国,直接上代码:

<?php
$data = file_get_contents("/path/to/phpcreeper.png");
var_dump(json_encode(base64_encode($data)));

版权声明:除非注明,本文由( blogdaren )原创,转载请保留文章出处。

本文链接:【原创】解决json_encode处理resource类型数据后数据丢失的问题

发表评论:

您的昵称:
电子邮件:
个人主页: