• 图片base64上传时可能遇到的问题


    base64上传图片时服务器接到的值可能会丢失字符串

    解决方法如下:(分为单个上传和多个上传)

    <?php
    $BASE_DIR = "../";
    //文件上传
    $img = isset($_POST['img'])?$_POST['img']:'';
    $dir = isset($_POST['dir'])?$_POST['dir']:'img';
    $result = array();
    $arr = [];
    if (is_array($img)){
        foreach ($img as $v){
            if (preg_match('/^(data:s*image/(w+);base64,)/', $v, $result)) {
                $type = $result[2];
                $file = "images/{$dir}/" . date('Ymd', time()) . "/";
                if (!file_exists($file)) {
                    //检查是否有该文件夹,如果没有就创建,并给予最高权限
                    mkdir($file, 0777, true);
                }
                $file = $file . time(). '_' .rand(0,100) . ".{$type}";
                $data = str_replace(' ','+',$v);
                if (file_put_contents($file, base64_decode(str_replace($result[1], '', $data)))) {
                    $arr[] = $file;
                } else {
                    return false;
                }
            }
        }
        echo json_encode($arr);
    } else {
        if (preg_match('/^(data:s*image/(w+);base64,)/', $img, $result)){
            $type = $result[2];
            $file = "images/{$dir}/" . date('Ymd', time()) . "/";
    
            if (!file_exists($file)) {
                //检查是否有该文件夹,如果没有就创建,并给予最高权限
                mkdir($file, 0777, true);
            }
            $file = $file . time() . '_' . rand(0, 100) . ".{$type}";
            $data = str_replace(' ', '+', $img);
            if (file_put_contents($file, base64_decode(str_replace($result[1], '', $data)))) {
                $file = substr($file,strpos($file,'/')+1);
                echo json_encode($file);
            } else {
                return false;
            }
        }
    }

    主要就是把服务器接到的值做一个字符串替换,解决问题!

    以上就是这次的全部内容!

  • 相关阅读:
    EMQTT测试--安装与测试 (windows)
    phpStudy本地搭建wordpress教程
    windows下9款一键快速搭建PHP本地运行环境的好工具(含php7.0环境)
    mysql允许外网访问 和修改mysql 账号密码
    mysql sql常用语句
    Mysql(MyISAM和InnoDB)及Btree和索引优化
    Python 有关网址
    Python 字典(Dictionary)操作详解
    pandas读取xlsx
    Python 学习笔记 (变量与数据类型)
  • 原文地址:https://www.cnblogs.com/jingxiaoniu/p/8038900.html
Copyright © 2020-2023  润新知