我想将多个base64图像发送到PHP Web服务。现在我需要解码所有这些base64图像并将它们保存到上传文件夹中。
这是我将base64值分配给隐藏输入类型的代码。
HTML:
<form action="./upload.php" method="post">
<input type="hidden" id="imagefile1" name="imagefile[]" value="">
<input type="hidden" id="imagefile2" name="imagefile[]" value="">
<input type="hidden" id="imagefile3" name="imagefile[]" value="">
</form>
不幸的是,这种方法不起作用我不知道问题出在哪里!
upload.php的:
$imagefile = $_POST['imagefile'];
define('UPLOAD_DIR', 'uploads/');
foreach($imagefile as $i => $imagefiles)
{
$image_parts = explode(";base64,", $imagefiles[$i]);
$image_type_aux = explode("image/", $image_parts[$i]);
$image_type = $image_type_aux[$i];
$image_base64 = base64_decode($image_parts[$i]);
$file = UPLOAD_DIR . uniqid() . '.png';
file_put_contents($file[$i], $image_base64[$i]);
}
答案 0 :(得分:0)
您的局部变量中似乎使用了错误的索引ss
:
在下面的行中,您使用的是$i
,而不是使用正确的索引。
$i
但我认为你应该使用这样的东西(但是你应该用你的值进行测试):
$image_type = $image_type_aux[$i];
$image_base64 = base64_decode($image_parts[$i]);
$file = UPLOAD_DIR . uniqid() . '.png';
file_put_contents($file[$i], $image_base64[$i]);