doushiposong30622 2017-01-10 15:44
浏览 40

Php将编码数据返回到ajax,当它甚至不在json_encode中时

The file I post below is being ajaxed from jQuery.
It returns encoded data (with question mark symbols and all). I am not even echoing the data or anything.
The only thing I send to the client is json_encode. The json_encode data comes after the encoded data.
When I do not call my base64_extension function, it all works properly.

EDIT
The code is no longer spitting out the encoded data. However, the function is returning 4 (not image). I am trying to understand why.

function base64_extension($base64)
{
$base64 = str_replace("data:image/png;base64,", "", $base64);

$base64 = imagecreatefromstring(base64_decode($base64));

if (!$base64) {
    return 0; /* Not image */
}

if (imagepng($base64, "tmp.png")) {
    imagedestroy($base64);
    unlink('tmp.png');
    return 1;
} else if (imagejpeg($base64, "tmp.jpg")) {
    imagedestroy($base64);
    unlink('tmp.jpg');
    return 2;
} else if (imagegif($base64, "tmp.gif")) {
    imagedestroy($base64);
    unlink('tmp.gif');
    return 3;
} else {
    return 4; /* Not image */
}
}

That is the function, here is the rest :

echo json_encode(array("status" => "success", "dreamID" => $data['dreamId'], "mime" => base64_extension($_POST['dream_pic'])));

mime returns as 1. So the function seems to work. Not sure why a bunch of encoded data gets returned to ajax. Thanks!

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥50 易语言把MYSQL数据库中的数据添加至组合框
    • ¥20 求数据集和代码#有偿答复
    • ¥15 关于下拉菜单选项关联的问题
    • ¥20 java-OJ-健康体检
    • ¥15 rs485的上拉下拉,不会对a-b<-200mv有影响吗,就是接受时,对判断逻辑0有影响吗
    • ¥15 使用phpstudy在云服务器上搭建个人网站
    • ¥15 应该如何判断含间隙的曲柄摇杆机构,轴与轴承是否发生了碰撞?
    • ¥15 vue3+express部署到nginx
    • ¥20 搭建pt1000三线制高精度测温电路
    • ¥15 使用Jdk8自带的算法,和Jdk11自带的加密结果会一样吗,不一样的话有什么解决方案,Jdk不能升级的情况