将 Base-64 图像字符串解码为位图 - php

Decode Base-64 image string to bitmap - php

我有这个 php 文件:UploadToServer.php 解码 base 64 图像字符串并将其保存为位图图像,当我用 Postman 测试它并给它一个字符串时,会弹出此错误,我对php不是很熟悉。 这是 UploadToServer.php :

<?php
if (isset($_POST('image_encoded'))) {
    $data = $_POST('image_encoded');
    $file_path = "C:/wamp/www/android_api/Uploads/test.jpg";
    // create a new empty file
    $myfile = fopen($filePath, "wb") or die("Unable to open file!");
        // add data to that file
    file_put_contents($filePath, base64_decode($data));
}

?>

这是错误:

Fatal error: Cannot use isset() on the result of a function call (you can use "null !== func()" instead) 
in C:\wamp\www\android_api\UploadToServer.php on line 

你应该使用 $_POST['image_encoded']。 $_POST标识符实际上是一个数组,所以括号应该是方括号。要自己测试这个,你可以输出 print_r($_POST); 一次,因为你再也不会忘记它了。

代码将变为:

<?php
if (isset($_POST['image_encoded'])) {
    $data = $_POST['image_encoded'];
    $file_path = "C:/wamp/www/android_api/Uploads/test.jpg";
    // create a new empty file
    $myfile = fopen($filePath, "wb") or die("Unable to open file!");
        // add data to that file
    file_put_contents($filePath, base64_decode($data));
}

?>

查看变量$filePath不存在,正确的是$file_path:

  <?php
if (isset($_POST['image_encoded'])) {
    $data = $_POST['image_encoded'];
    $file_path = "C:/wamp/www/android_api/Uploads/test.jpg";
    // create a new empty file
    $myfile = fopen($file_path, "wb") or die("Unable to open file!");
        // add data to that file
    file_put_contents($file_path, base64_decode($data));
}

?>