欢迎使用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 青春梦敲门砖
?>
阅读全文
0 0
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 关于图片拉伸的方法
- HDU 1875 畅通工程再续(最小生成树-Kruskal算法)
- 菜鸟学习数据结构算法之路之约瑟夫环问题(循环链表)
- python下的redis连接
- Netty4.x中文教程系列(五)编解码器Codec
- 欢迎使用CSDN-markdown编辑器
- 几种使用itext生成pdf的方式
- 无法忍受sbt构建scala的龟速,用maven构建spark应用吧
- Android缓存策略LruCahe源码解析,Lru到底是怎么算的?
- 机器学习相关资料
- eclipse怎么自动生成返回对象
- ascii(hex)/aes_ecb
- Mysql使用while循环插入数据
- string,reverse,resize