欢迎使用CSDN-markdown编辑器

来源:互联网 发布:知源中学复读 编辑:程序博客网 时间:2024/06/15 18:33

题主,一个遨游编程的PHPer小菜鸟 ,在楼主的小白脑子里,如果要是更换头像,HTML 只能用FROM 表单提交,后台通过文件上传类处理图片并且把图片URL 存入MYSQL 中,但是这种方法或许有些单一或者狭隘,如果前台用AJAX 传送数据,PHPer 该怎么办? 最近查看手册,测试,百度,有了一下思路: 前端通过ajax 把图片 通过basez64 加码 转换成数据流,后端接受数据后解码把图片的PATH 存入MYSQL .下面上代码:

<!doctype html><html><head><body></body>    ##这里只标注重要代码,相信你也能看懂的##            <!--//获取到图片的val值-->            $("#touxiang").on("change",function() {                    <!--/把获取到值加码:  getObjectURL  函数-->               var srcs = getObjectURL(this.files[0]);                $(".picture").attr("src",srcs);         })                </head>        </html>

//处理接受的base64加密数据流$pic = trim(isset($_POST['image'])? $_POST['image']:'');  //设置文件存放的目录 (这里好像只支持相对路径,绝对路径和远程服务器貌似不行,试了多次也没有结果)$upload = './MyFiles/';   //判断文件是否存在if(file_exist($upload)){    mkdir($upload,777);    }//正则匹配处理数据流  (以下代码参考有参考网上)if (preg_match('/^(data:\s*image\/(\w+);base64,)/', $pic, $result)){      //这一步把 匹配到结果赋值给$type;    $type = $result[2];        //验证$type 中是否有数组中的值    if(in_array($type,array('jpeg','png','gif','bmp','png'))){        //拼接成一个新的文件        $new_file = $up_dir.date('YmdHis').'.'.$type;        //把生成的文件解码,存入到文件        if (file_put_contents($new_file, base64_decode(str_replace($result[1], '', $pic)))){              // 生成最终的文件         echo $img_path = str_replace('../../..', '', $new_file);                ##其实到上面已经结束了,如果要是存到远程服务器中,这个路径是有问题的,所有我又拼接了一下路径,把这个路径存到数据库##                //去掉‘.’ 生成的是:‘/MyFiles/’;                $path = substr($img_path,1);                //最终要存到数据库的url  地址                $newPath = 'http://127.0.0.1/demo'.$path;          }       }    }
                                                            2017.11.24  青春梦敲门砖

?>

原创粉丝点击