Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Codeigniter |将Base64图像保存到文件_Php_Jquery_Codeigniter_Image Processing_Base64 - Fatal编程技术网

Php Codeigniter |将Base64图像保存到文件

Php Codeigniter |将Base64图像保存到文件,php,jquery,codeigniter,image-processing,base64,Php,Jquery,Codeigniter,Image Processing,Base64,我创建了一个自定义产品配置程序,它将画布元素保存为base64编码图像。当我在浏览器中以图像src的形式回显图像时,效果很好 所以类似这样的方法是有效的: $base64Image = $_POST['dataUrl']; echo '<img src="'.$base64Image.'" />'; $base64Image=$\u POST['dataUrl']; 回声'; 我的问题是codeigniter不会将这个base64映像src添加到会话中,可能是因为它太大了。我尝试

我创建了一个自定义产品配置程序,它将画布元素保存为base64编码图像。当我在浏览器中以图像src的形式回显图像时,效果很好

所以类似这样的方法是有效的:

$base64Image = $_POST['dataUrl'];
echo '<img src="'.$base64Image.'" />';
$base64Image=$\u POST['dataUrl'];
回声';
我的问题是codeigniter不会将这个base64映像src添加到会话中,可能是因为它太大了。我尝试了一些人们用来向服务器写入图像的方法,但都会出错。有人知道我如何将这个base64字符串写入服务器上的图像中,比如images/custom文件夹中的“myimage.png”吗

非常感谢您的帮助。

您也可以使用

$decoded=base64_decode($base64Image);
file_put_contents('newImage.JPG',$decoded);
参考链接:

用于在可由脚本写入的目录中获取唯一的文件名。您可以将会话变量“thisUsersTempFile”映射到该文件名


或者,如果关联不是临时的,则可以将其存储在其他位置。如果您需要清理tmp文件,您可能需要这样做,因为我认为您无法钩住会话销毁。您可以轮询现有会话,并删除与已销毁会话关联的tmp文件。您可以使用cron作业来实现这一点。

您应该使用HTML转义该dataURI,或者使用XSS issuesTry:引用链接正是我所需要的。它现在工作得很好。谢谢