服务器不支持base64_encode()和base64_decode()方法

时间:2017-04-21 10:04:38

标签: php jquery canvas png

我正在使用以下ajax / jquery代码将html5 canvas保存为png:

var canvas = document.getElementById("canvas");
    var data = canvas.toDataURL("image/png");
    $.ajax({
        url: "saveAsImage.php",
        data:{data:data},
        type:"POST",
        success:function(r){
            $("#result").html(r);
        }

    });

PHP代码使用以下php代码从发布的数据创建.png文件:

<?php 
if(isset($_POST['data'])){
$img = $_POST['data'];
$img = str_replace('data:image/png;base64,', '', $img); 
$img = str_replace(' ', '+', $img);
$fileData = base64_decode($img);
$fileName = date('Ymdhisa').'.png';
file_put_contents("img/".$fileName, $fileData);
    echo('<hr>Created Image is: <br><img src="img/'.$fileName.'">');
}

&GT;

现在,实际的问题是我的web服务器不支持base64_encode()和base64_decode()函数,因此,我使用以下方法代替base64_decode()方法并注释掉base64_decode()方法

 //$fileData = base64_decode($img);
   $fileData = rawurldecode($img);

无论如何,我能做到这一点吗?

0 个答案:

没有答案