加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP编程:php实现粘贴截图并完成上传功能

发布时间:2020-12-13 02:37:53 所属栏目:PHP教程 来源:网络整理
导读:《php实现粘贴截图并完成上传功能》要点: 本文介绍了php实现粘贴截图并完成上传功能,希望对您有用。如果有疑问,可以联系我们。 PHP教程 本日发现segmentfault的评论留言里面可以粘贴上传图片,于是研究了下怎么实现的! 原理很简单其实就是监控粘贴事件,然

《php实现粘贴截图并完成上传功能》要点:
本文介绍了php实现粘贴截图并完成上传功能,希望对您有用。如果有疑问,可以联系我们。

PHP教程本日发现segmentfault的评论留言里面可以粘贴上传图片,于是研究了下怎么实现的!
原理很简单其实就是监控粘贴事件,然后检测是否粘贴的东西里面有图片,有的话直接触发ajax上传

PHP教程代码可以直接运行,有兴趣你们可以试试

PHP教程
<?php
header("Access-Control-Allow-Origin:*");
$url = 'http://'.$_SERVER['HTTP_HOST'];
$file = (isset($_POST["file"])) ? $_POST["file"] : '';
if($file)
{
$data = base64_decode(str_replace(,'',$file)); //截图得到的只能是png格式图片,所以只要处理png就行了
$name = md5(time()) . '.png'; // 这里把文件名做了md5处理
file_put_contents($name,$data);
echo"$url/$name";
die;
}
?>
<div id="box"style="width:400px;height:400px;border:1px solid;"contenteditable>
</div>
<input type="hidden"name="img"value=""id="img_puth"/>
<script>
//查找box元素,检测当粘贴时候,document.querySelector('#box').addEventListener('paste',function(e) {
//判断是否是粘贴图片
 if (e.clipboardData && e.clipboardData.items[0].type.indexOf('image') > -1) 
{
var that = this,reader = new FileReader();
file = e.clipboardData.items[0].getAsFile();
//ajax上传图片
 reader.onload = function(e) 
{
 var xhr = new XMLHttpRequest(),fd = new FormData();
 xhr.open('POST',true);
 xhr.onload = function () 
{
 var img = new Image();
 img.src = xhr.responseText;
 // that.innerHTML = '<img src="'+img.src+'"alt=""/>';
 document.getElementById("img_puth").value = img.src;
}
 // this.result得到图片的base64 (可以用作即时显示)
 fd.append('file',this.result); 
 that.innerHTML = '<img src="'+this.result+'"alt=""/>';
xhr.send(fd);
}
reader.readAsDataURL(file);
}
},false);
</script>

PHP教程以上所述便是本文的全部内容了,希望大家能够喜欢.

欢迎参与《php实现粘贴截图并完成上传功能》讨论,分享您的想法,编程之家 52php.cn为您提供专业教程。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读