Php 将html图像数据url转换为托管图像

Php 将html图像数据url转换为托管图像,php,html,Php,Html,我有一个页面,它从快照工具生成图像数据URL,并通过PHP将生成的字符串插入MySQL数据库。后来我有了一个页面,可以拍摄和使用这些图像。这将是好的,除了我需要将生成的html保存到我的服务器进行一些后期处理,图像数据URL的长度让我头疼,使html文件的速度超过8到10 MBs,这会减慢整个过程。图像如下所示: <img src="data:image/png:base64,iVBORw0K43+gAA4u..."> <img src="http://www.mysite.

我有一个页面,它从快照工具生成图像数据URL,并通过PHP将生成的字符串插入MySQL数据库。后来我有了一个页面,可以拍摄和使用这些图像。这将是好的,除了我需要将生成的html保存到我的服务器进行一些后期处理,图像数据URL的长度让我头疼,使html文件的速度超过8到10 MBs,这会减慢整个过程。图像如下所示:

<img src="data:image/png:base64,iVBORw0K43+gAA4u...">
<img src="http://www.mysite.com/image1.png">

其中有一个非常长的字符串,使得生成的html非常大。有没有办法在我的服务器上以png的形式承载此链接,使其成为一个外观正常的图像?大概是这样的:

<img src="data:image/png:base64,iVBORw0K43+gAA4u...">
<img src="http://www.mysite.com/image1.png">

您可以将文件保存到其他地方,但我猜您需要将图像存在数据库中。如果您将文件保存到其他地方,您的磁盘需求将增加一倍


在任何情况下,一般的修复方法是将该图像字符串保存到磁盘,并在数据库中跟踪路径。然后,当您生成HTML时,您将使用数据库中的路径,而不是数据库中的二进制数据。

如何将base64转换为原始图像,您将要做的是将图像作为实际文件保存到服务器

Php将base64数据转换为图像

    function toImage($base_code){
    $img_file = imagecreatefromstring(base64_decode($base_code));
    imagejpeg($img_file, 'new.jpg');
}
调用函数

echo toImage($encoded_image);

确保只传递不带图像标记的base64编码字符串

是否使用base64图像编码。。。?试试这个看起来很有希望,让我试试,我会给你回复的。