Php 使用ajax将录制的gif(base64字符串)保存为特定目录中的gif
我的问题是,我用gifshot.js插件录制了一个gif,现在想保存它,但什么都不行。我使用ajax函数将src字符串发送到php,然后php解码base64字符串(正常工作)。在这之后,gif将被保存在你将在下面看到的目录中,但它只是不起作用。非常沮丧。。。你有什么办法吗 HTML: php:Php 使用ajax将录制的gif(base64字符串)保存为特定目录中的gif,php,jquery,Php,Jquery,我的问题是,我用gifshot.js插件录制了一个gif,现在想保存它,但什么都不行。我使用ajax函数将src字符串发送到php,然后php解码base64字符串(正常工作)。在这之后,gif将被保存在你将在下面看到的目录中,但它只是不起作用。非常沮丧。。。你有什么办法吗 HTML: php: 您有任何错误消息给我们吗?您还使用具有绝对路径的文件内容。您的服务器上很可能没有/images/文件夹。您可能需要尝试一些不同的文件内容(\uuuuu DIR\uuuu.'/../images/save
您有任何错误消息给我们吗?您还使用具有绝对路径的文件内容。您的服务器上很可能没有/images/文件夹。您可能需要尝试一些不同的
文件内容(\uuuuu DIR\uuuu.'/../images/saved.gif',$decodedpic)代码>为什么要在要写入磁盘文件的表单提交上运行mysqli\u real\u escape\u string和htmlspecialchars?AJAX调用也不提供您正在读取的_POST变量(用户名)。@colburton感谢您的帮助。。。一段代码中有太多愚蠢的错误。。。真的很感谢@伊恩:谢谢你的帮助。。。一段代码中有太多愚蠢的错误。。。真的很感谢!!
<section id="reingif" class="gifshot-image-preview-section" style="height: 210.7px; width: 210.7px;">
<img src="data:image/gif;base64,ROIGODIh9AH0AQAAA...">
</section>
$("#create-gif").click(function(){
gifshot.createGIF({
gifWidth: 500,
gifHeight: 500,
interval: 0.2,
numFrames: 25,
sampleInterval:7,
numWorkers: 3
}, function (obj) {
if (!obj.error) {
var image = obj.image, animatedImage = document.createElement('img');
animatedImage.src = image;
$("#reingif").html(animatedImage);
var viewportHeight = $(window).height();
var gifdims = 0.7 * viewportHeight + "px";
$("#reingif img").addClass("addcrimg").height(gifdims).width(gifdims);
var datastring = $("#reingif img").attr('src');
$.ajax({
url: 'savegif.php',
type: 'post',
dataType: 'text',
data: { 'base64data' : datastring }
});
}
});
});
@$base64data = mysqli_real_escape_string($db, trim(htmlspecialchars($_POST["username"])));
$decodedpic = base64_decode(preg_replace('#^data:image/\w+;base64,#i', '', $base64data));
file_put_contents('/images/saved.gif', $decodedpic);