как устранить неопределенную ошибку индекса при попытке загрузить изображение на сервер? Я пытаюсь создать API для загрузки изображения на сервер с помощью PHP и MySQL
ошибка:
Примечание: Неопределенный индекс: img_logo в /opt/lampp/htdocs/Carekkerje/upload.php в строке 6 {"success": 0, "message": "Error Upload image"}
Ошибка в этом разделе:
$ img_logo = $ _POST ['img_logo'];
мой код:
upload.php
<?php
include_once "koneksi.php";
class emp{}
$img_logo = $_POST['img_logo'];
$random = random_word(20);
$path = "images/".$random.".png";
// sesuiakan ip address laptop/pc atau URL server
$actualpath = "http://192.168.43.193/Carekkerje/$path";
$query = mysqli_query($con, "INSERT INTO transaksi (img_logo) VALUES ('$actualpath')");
if ($query){
file_put_contents($path,base64_decode($img_logo));
$response = new emp();
$response->success = 1;
$response->message = "Successfully Uploaded";
die(json_encode($response));
} else{
$response = new emp();
$response->success = 0;
$response->message = "Error Upload image";
die(json_encode($response));
}
// fungsi random string pada gambar untuk menghindari nama file yang sama
function random_word($id = 20){
$pool = '1234567890abcdefghijkmnpqrstuvwxyz';
$word = '';
for ($i = 0; $i < $id; $i++){
$word .= substr($pool, mt_rand(0, strlen($pool) -1), 1);
}
return $word;
}
mysqli_close($con);
?>
Проверьте, получено ли изображение в $ _FILES ['img_logo'].
$img_logo = $_FILES['img_logo'];
Если нет, массивы var_dump ($ _ POST) и var_dump ($ _ FILES), чтобы увидеть его содержимое, и он должен быть там:
var_dump($_POST);
var_dump($_FILES);
С помощью этого вы получите ключи и значения каждого из этих массивов, а затем вы сможете узнать, где находится файл.
И если у вас все еще есть проблемы, распечатайте эту информацию var_dump в описании вашего вопроса, и мы сможем вам помочь.
Вы должны использовать переменные var_dump и print_r для отладки кода.
var_dump()
- массивы $ _POST и $ _FILES, и они должны быть там.