我是PHP的新手,我尝试使用它构建一个简单的服务。
我有一些移动应用程序,它们向我的PHP文件请求POST HTTP。该应用程序将发送base64图像,该服务将解码并将其存储到文件夹中。这是PHP:
$request = file_get_contents('php://input');
$json = json_decode($request, true);
if ($json > 0) {
$jsonArray = $json['request'];
for ($i = 0; $i<sizeof($jsonArray); $i++) {
$imageprof = $jsonArray[$i]['image'];
$input = base64_decode($imageprof);
echo"$input";
$uploaddir = '/opt/lampp/htdocs/POS_S/API/res/';
$uploadfile = $uploaddir . basename(1);
if (move_uploaded_file($input, $uploadfile)) {
echo "File is valid, and was successfully uploaded.\n";
} else {
echo "Upload failed";
}
}
} else {
$imageprof = "";
echo"image string empty";
}
我在Postman中进行了测试,发布请求被接收到变量$input
中,但是图像未存储在我的本地目录中。我已经读过base64_decode
会返回一个二进制文件,我认为原因是无法将其保存到我的本地目录中。我读到一些有关save image into directory
的问题,但仍然无法解决问题。