Rumah >pembangunan bahagian belakang >tutorial php >PHP实现将HTML5中Canvas图像保存到服务器

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

不言
不言asal
2018-07-03 09:41:461773semak imbas

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

本文实例讲述了PHP实现将HTML5中Canvas图像保存到服务器的方法。分享给大家供大家参考。具体实现方法如下:

一、问题:

在几年前HTML5还没有流行的时候,我们的项目经理曾经向我提出这样一个需求:让项目评审专家们在评审结束时用笔在平板电脑上进行电子签名。这需要我们评审软件里提供这样一个功能:打开浏览器,登录,进入评审意见页,页面最下部有个方块区域,用户在这里用触摸笔进行签名,然后这个签名将会保持的服务器上。

这样的一个需求在当时是让我大费周折,但如今想起来,如果用html5的canvas实现,真是太简单了。在《在HTML5 Canvas中放入图片和保存为图片的方法》这篇文章里就实现了这一功能。

二、解决方法:

之前说了很多如何将canvas图像保存成图片并下载的方法,但这些方法都是将图片保存到客户端,而我们的签名需求是需要将canvas的内容保存到服务器端,如何实现?

其实很简单,看完下面的这段PHP代码,相信你也会觉得很简单。

<?php
 // requires php5
 define(&#39;UPLOAD_DIR&#39;, &#39;images/&#39;);
 $img = $_POST[&#39;img&#39;];
 $img = str_replace(&#39;data:image/png;base64,&#39;, &#39;&#39;, $img);
 $img = str_replace(&#39; &#39;, &#39;+&#39;, $img);
 $data = base64_decode($img);
 $file = UPLOAD_DIR . uniqid() . &#39;.png&#39;;
 $success = file_put_contents($file, $data);
 print $success ? $file : &#39;Unable to save the file.&#39;;
?>

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

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

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!

相关推荐:

PHP 获取某年第几周的开始日期和结束日期的实例讲解

PHP实现顺时针打印矩阵(螺旋矩阵)的方法示例讲解

Atas ialah kandungan terperinci PHP实现将HTML5中Canvas图像保存到服务器. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn