提问者:小点点

如何在php POST表单中将base64转换为图像


我使用croppiejs在一个表单中裁剪我的图像,然后我将结果图像作为base64存储在一个隐藏的输入中,并将post值传递给PHP,现在我需要一个PHP代码来帮助我将base64裁剪后的图像转换成一个实际的图像并保存在“../images”文件夹中,这怎么可能呢?任何代码都将受到赞赏!

        $title= $_POST["news_title"];
        $date= $_POST["news_date"];
        $time= $_POST["news_time"];
        $context= $_POST["news_context"];
                $img= $_POST["baseimg"]; // Base64 cropped image (contains data:image/png;base64)

$news_context= stripslashes($_POST['news_context']);
                    $news_context1= mysqli_real_escape_string($conn, $news_context);
                if (!empty($title) && !empty($date) && !empty($time) && !empty($news_context) ) {

// Need the code here

}

共1个答案

匿名用户

下面的内容可以用来将数据线转换成一个真实的PNG图像。我有很多在流行网站上存储大量图像的经验。让我建议不要将它们存储在一个看起来像是要设置的数据库中。相反,将映像存储在文件系统中,然后在数据库中为该映像设置唯一的名称。

$title = $_POST["news_title"];
$date = $_POST["news_date"];
$time = $_POST["news_time"];
$context = $_POST["news_context"];
$img = $_POST["baseimg"]; // Base64 cropped image (contains data:image/png;base64)

$news_context = stripslashes($_POST['news_context']);
$news_context1 = mysqli_real_escape_string($conn, $news_context);
if (!empty($title) && !empty($date) && !empty($time) && !empty($news_context)) {
    list($type, $data) = explode(';', $img);
    list(, $data)      = explode(',', $data);
    $data = base64_decode($data);

    // This will place the image in /tmp/image.png
    file_put_contents('../images/image.png', $data);

    // Need the code here
}