PHP实现将HTML5中Canvas图像保存到服务器的方法
程序员文章站
2022-06-05 21:30:55
本文实例讲述了php实现将html5中canvas图像保存到服务器的方法。分享给大家供大家参考。具体实现方法如下:
一、问题:
在几年前html5还没有流行的时候,我们...
本文实例讲述了php实现将html5中canvas图像保存到服务器的方法。分享给大家供大家参考。具体实现方法如下:
一、问题:
在几年前html5还没有流行的时候,我们的项目经理曾经向我提出这样一个需求:让项目评审专家们在评审结束时用笔在平板电脑上进行电子签名。这需要我们评审软件里提供这样一个功能:打开浏览器,登录,进入评审意见页,页面最下部有个方块区域,用户在这里用触摸笔进行签名,然后这个签名将会保持的服务器上。
这样的一个需求在当时是让我大费周折,但如今想起来,如果用html5的canvas实现,真是太简单了。在《在html5 canvas中放入图片和保存为图片的方法》这篇文章里就实现了这一功能。
二、解决方法:
之前说了很多如何将canvas图像保存成图片并下载的方法,但这些方法都是将图片保存到客户端,而我们的签名需求是需要将canvas的内容保存到服务器端,如何实现?
其实很简单,看完下面的这段php代码,相信你也会觉得很简单。
复制代码 代码如下:
<?php
// requires php5
define('upload_dir', 'images/');
$img = $_post['img'];
$img = str_replace('data:image/png;base64,', '', $img);
$img = str_replace(' ', '+', $img);
$data = base64_decode($img);
$file = upload_dir . uniqid() . '.png';
$success = file_put_contents($file, $data);
print $success ? $file : 'unable to save the file.';
?>
// requires php5
define('upload_dir', 'images/');
$img = $_post['img'];
$img = str_replace('data:image/png;base64,', '', $img);
$img = str_replace(' ', '+', $img);
$data = base64_decode($img);
$file = upload_dir . uniqid() . '.png';
$success = file_put_contents($file, $data);
print $success ? $file : 'unable to save the file.';
?>
从网页上传到服务器端的图片是base64_encode转码过的data url格式,数据在服务器端用base64_decode进行解码,保存成文件。
或许有一天你也会需要用到它的,觉得很有用的话就收藏一下吧!
希望本文所述对大家的php程序设计有所帮助。
推荐阅读
-
PHP实现将HTML5中Canvas图像保存到服务器的方法
-
PHP实现将HTML5中Canvas图像保存到服务器的方法
-
用PHP将网页上的Canvas图像保存到服务器上的方法
-
PHP实现将HTML5中Canvas图像保存到服务器的方法_php技巧
-
PHP实现将HTML5中Canvas图像保存到服务器的方法_php技巧
-
PHP实现将HTML5中Canvas图像保存到服务器的方法,html5canvas_PHP教程
-
PHP实现将HTML5中Canvas图像保存到服务器
-
PHP实现将HTML5中Canvas图像保存到服务器的方法,html5canvas
-
PHP实现将HTML5中Canvas图像保存到服务器
-
PHP实现将HTML5中Canvas图像保存到服务器的方法,html5canvas