• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

php实现base64图片上传方式

php 搞代码 3年前 (2022-01-22) 28次浏览 已收录 0个评论

本例子中没有采用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 = '<p class="sitetip">图片img标签展示:</p>![]('+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 '文件错误<span>!本文来源gaodai#ma#com搞*!代#%^码网5</span><pre>搞gaodaima代码

';}

实例效果如下:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持搞代码

更多php实现base64图片上传方式相关文章请关注搞代码


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:php实现base64图片上传方式
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址