PHP实现将HTML5中Canvas图像保存到服务器的方法

2015-01-24信息快讯网

这篇文章主要介绍了PHP实现将HTML5中Canvas图像保存到服务器的方法,可实现将Canvas图像保存到服务器的功能,是非常实用的技巧,需要的朋友可以参考下

本文实例讲述了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.';
?>

从网页上传到服务器端的图片是base64_encode转码过的Data URL格式,数据在服务器端用base64_decode进行解码,保存成文件。

或许有一天你也会需要用到它的,觉得很有用的话就收藏一下吧!

希望本文所述对大家的PHP程序设计有所帮助。

php+mysql实现无限分类实例详解
将FCKeditor导入PHP+SMARTY的实现方法
php实现redis数据库指定库号迁移的方法
php正则匹配html中带class的div并选取其中内容的方法
php模拟登陆的实现方法分析
php获取四位字母和数字的随机数的实现方法
CI框架中site_url()和base_url()的区别
PHP实现检测客户端是否使用代理服务器及其匿名级别
php读取flash文件高宽帧数背景颜色的方法
php模仿asp Application对象在线人数统计实现方法
php采集内容中带有图片地址的远程图片并保存的方法
php读取csv数据保存到数组的方法
php+ajax实现文章自动保存的方法
php实现监控varnish缓存服务器的状态
php实现Linux服务器木马排查及加固功能
PHP跨平台获取服务器IP地址自定义函数分享
php将图片保存入mysql数据库失败的解决方法
解决phpcms更换javascript的幻灯片代码调用图片问题
php连接odbc数据源并保存与查询数据的方法
PHP实现服务器状态监控的方法
Sublime里直接运行PHP配置方法
PHP使用get_headers函数判断远程文件是否存在的方法
php最简单的删除目录与文件实现方法
PHP获取服务器端信息的方法
配置php.ini实现PHP文件上传功能
PHP实现文件下载详解
PHP实现无限极分类图文教程
Thinkphp搭建包括JS多语言的多语言项目实现方法
php中base64_decode与base64_encode加密解密函数实例
php常用hash加密函数
ThinkPHP控制器里javascript代码不能执行的解决方法
php中base_convert()进制数字转换函数实例
PHP字符串比较函数strcmp()和strcasecmp()使用总结
PHP自定session保存路径及删除、注销与写入的方法
php数组保存文本与文本反编成数组实例
php中使用session_set_save_handler()函数把session保存到MySQL数据库实例
完美实现wordpress禁止文章修订和自动保存的方法
PHP多个文件上传到服务器实例
php保存二进制原始数据为图片的程序代码
phpmailer在服务器上不能正常发送邮件的解决办法
php socket客户端及服务器端应用实例
©2014-2024 dbsqp.com