php实现base64图片上传方式实例代码


Posted in PHP onFebruary 22, 2017

本例子中没有采用File Post上传文件方式!原理一样,为了更加的理解base64 选择将其输出在文本域中,并提交至服务器!运用到项目中建议采用提交File方式。

html代码

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>简单的html5 File测试 for pic2base64</title> 
<style> 
</style> 
<script> 
  window.onload = function(){ 
    var input = document.getElementById("demo_input"); 
    var result= document.getElementById("result"); 
    var img_area = document.getElementById("img_area"); 
    if ( typeof(FileReader) === 'undefined' ){
      result.innerHTML = "抱歉,你的浏览器不支持 FileReader,请使用现代浏览器操作!"; 
      input.setAttribute('disabled','disabled'); 
    }else{
      input.addEventListener('change',readFile,false);
    } 
  }
  function readFile(){
    var file = this.files[0]; 
    //这里我们判断下类型如果不是图片就返回 去掉就可以上传任意文件  
    if(!/image\/\w+/.test(file.type)){
      alert("请确保文件为图像类型"); 
      return false; 
    }
    var reader = new FileReader(); 
    reader.readAsDataURL(file); 
    console.log();
    reader.onload = function(e){ 
        result.innerHTML = this.result; 
        img_area.innerHTML = '<div class="sitetip">图片img标签展示:</div>![]('+this.result+')'; 
    }
  } 
</script> 
</head>

<body> 
  <form action="file.php" method="post">
  <input type="file" value="sdgsdg" id="demo_input" /> 
  <textarea name="img" id="result" rows=30 cols=300></textarea> 
  <p id="img_area"></p> 
  <input type="submit" value="提交">
</form>
</body> 
</html>

PHP功能块代码

<?php
/**
 * base64图片上传
 * @param $base64_img
 * @return array
 */
$base64_img = trim($_POST['img']);
$up_dir = './upload/';//存放在当前目录的upload文件夹下

if(!file_exists($up_dir)){
  mkdir($up_dir,0777);
}

if(preg_match('/^(data:\s*image\/(\w+);base64,)/', $base64_img, $result)){
  $type = $result[2];
  if(in_array($type,array('pjpeg','jpeg','jpg','gif','bmp','png'))){
    $new_file = $up_dir.date('YmdHis_').'.'.$type;
    if(file_put_contents($new_file, base64_decode(str_replace($result[1], '', $base64_img)))){
      $img_path = str_replace('../../..', '', $new_file);
      echo '图片上传成功</br>![](' .$img_path. ')';
    }else{
          echo '图片上传失败</br>';

    }
  }else{
    //文件类型错误
  echo '图片上传类型错误';
  }

}else{
  //文件错误
  echo '文件错误';
}

实例效果如下:

php实现base64图片上传方式实例代码

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
PHP动态变静态原理
Nov 25 PHP
php创建多级目录代码
Jun 05 PHP
php for 循环语句使用方法详细说明
May 09 PHP
PHP中的session永不过期的解决思路及实现方法分享
Apr 20 PHP
解析php5配置使用pdo
Jul 03 PHP
php实现的一个很好用HTML解析器类可用于采集数据
Sep 23 PHP
采用thinkphp自带方法生成静态html文件详解
Jun 13 PHP
PHP中开启gzip压缩的2种方法
Jan 31 PHP
PHP给文字内容中的关键字进行套红处理
Apr 12 PHP
php传值方式和ajax的验证功能
Mar 27 PHP
PHP使用imagick扩展实现合并图像的方法
Apr 25 PHP
基于PHP+Mysql简单实现了图书购物车系统的实例详解
Aug 06 PHP
php中实现字符串翻转的方法
Feb 22 #PHP
php生成图片缩略图功能示例
Feb 22 #PHP
php图形jpgraph操作实例分析
Feb 22 #PHP
关于php几种字符串连接的效率比较(详解)
Feb 22 #PHP
php可变长参数处理函数详解
Feb 22 #PHP
php操作access数据库的方法详解
Feb 22 #PHP
Smarty3配置及入门语法
Feb 22 #PHP
You might like
php MYSQL 数据备份类
2009/06/19 PHP
php设计模式之单例模式实例分析
2015/02/25 PHP
PHP下载远程图片并保存到本地方法总结
2016/01/22 PHP
javascript模仿msgbox提示效果代码
2008/06/10 Javascript
JavaScript Konami Code 实现代码
2009/07/29 Javascript
javascript循环变量注册dom事件 之强大的闭包
2010/09/08 Javascript
Extjs4.0设置Ext.data.Store传参的请求方式(默认为GET)
2013/04/02 Javascript
简单实例处理url特殊符号&amp;处理(2种方法)
2013/04/02 Javascript
js实现在页面上弹出蒙板技巧简单实用
2013/04/16 Javascript
为什么JavaScript没有块级作用域
2016/05/22 Javascript
批量下载对路网图片并生成html的实现方法
2016/06/07 Javascript
jQuery Ajax实现跨域请求
2017/01/21 Javascript
Vue.js 60分钟快速入门教程
2017/03/28 Javascript
JavaScript数据结构之二叉树的遍历算法示例
2017/04/13 Javascript
angular之ng-template模板加载
2017/11/09 Javascript
Vue实现内部组件轮播切换效果的示例代码
2018/04/07 Javascript
详解nuxt sass全局变量(公共scss解决方案)
2018/06/27 Javascript
layui从数据库中获取复选框的值并默认选中方法
2018/08/15 Javascript
JavaScript创建、读取和删除cookie
2019/09/03 Javascript
浅析微信小程序自定义日历组件及flex布局最后一行对齐问题
2020/10/29 Javascript
将Emacs打造成强大的Python代码编辑工具
2015/11/20 Python
Python基于正则表达式实现文件内容替换的方法
2017/08/30 Python
对python抓取需要登录网站数据的方法详解
2018/05/21 Python
在python中利用numpy求解多项式以及多项式拟合的方法
2019/07/03 Python
阿里云ECS服务器部署django的方法
2019/08/29 Python
python实现图片素描效果
2020/09/26 Python
matplotlib教程——强大的python作图工具库
2020/10/15 Python
基于Canvas+Vue的弹幕组件的实现
2019/07/23 HTML / CSS
学院书画协会部门岗位职责
2013/12/01 职场文书
经典演讲稿范文
2013/12/30 职场文书
竞选村长演讲稿
2014/04/28 职场文书
2015年专项整治工作总结
2015/04/03 职场文书
参观监狱警示教育心得体会
2016/01/15 职场文书
导游词之藏龙百瀑景区
2019/12/30 职场文书
Python中可变和不可变对象的深入讲解
2021/08/02 Python
Mysql存储过程、触发器、事件调度器使用入门指南
2022/01/22 MySQL