我想将拍摄的照片上传到数据库。插入成功,所有详细信息上载到数据库,以及图片名称。但是以某种方式在我的图像文件夹中无法打开图像。它说:“看来我们不支持此文件格式”。怎么了?
这是我的php代码
<?php
header("Access-Control-Allow-Origin: *");
$conn = new mysqli("localhost", "root","","matawarga");
if($conn->connect_error) {
echo "Unable to connect, please try again";
//die();
}
$postdata = file_get_contents("php://input");
if(isset($postdata))
{
//$namesearch = $_POST['filter'];
$request = json_decode($postdata);
$userlogged = $request->usernamelogged;
$judul = $request->judul;
$tgl = $request->tglKejadian;
$desc = $request->deskripsi;
$instansi = $request->tujuan;
$longitude = 0;
$latitude = 0;
$dateformat = strtotime($tgl);
$newdateformat = date('Y-m-d', $dateformat);
$myArr = array();
$sql = "INSERT INTO kejadian(username,judul,deskripsi,instansi_tujuan,tanggal,longitude,latitude) VALUES (?,?,?,?,?,?,?)";
$stmt = $conn->prepare($sql);
$stmt->bind_param("sssssii",$userlogged, $judul, $desc, $instansi, $newdateformat,$longitude,$latitude);
if($stmt->execute())
{
$idk = $stmt->insert_id;
$image = str_replace('data:image/jpeg;base64,','', $url);
$image = str_replace(' ', '+', $image);
$data = base64_decode($image);
file_put_contents('images/'.$idk.'.jpg', $data);
$url = ".jpg";
$sql3 = "INSERT INTO gambar_kejadian(idkejadian,extension) VALUES (?,?)";
$stmt = $conn->prepare($sql3);
$stmt->bind_param("is", $idk, $url);
$stmt->execute();
$myArr['pesan'] = "Berhasil ditambahkan.";
}
else
{
$myArr['pesan'] = "Gagal" .$judul;
}
}
else
{
$myArr['pesan'] = "Gagal" .$desc;
}
echo json_encode($myArr);
$conn->close();
?>
答案 0 :(得分:0)
尝试使用此bas64转换jpg
$image = explode(";base64,", $url);
$data = base64_decode($image[1]);
file_put_contents('images/' . $idk . '.jpg', $data);
$url = 'images/' . $idk . '.jpg';