How can I upload Images with PHP

I can't ,by any chance upload a File inside my project. I have a administrator page for a shop in which the user should be able to create a product. I used a form in which the user inputs all data needed. I cant manage to upload a product image to my Server. My first attempt was to submit the form to a database handler, but everything but the $_FILES property is filled. So I tried severel other formats and nothing works. My last attempt was to stay in the same file after submitting, but still $_FILES stays empty.

<?php

if ($_SERVER["REQUEST_METHOD"] === "POST"){
    echo "<pre>";
    print_r($_POST);
    print_r($_FILES);
    echo "</pre>";
    die();
}

?>

<form id="create-item-form" action="" method="post">
        <label for="new_product_image_field">Image:</label>
        <input type="file" id="new_product_image_field" name="new_product_image">
        <label for="new_product_name_field">Name:</label>
        <input type="text" id="new_product_name_field" name="new_product_name" required>
        <label for="new_product_alcoholContent_field">Alcohol Content:</label>
        <input type="number" id="new_product_alcoholContent_field" name="new_product_alcoholContent"
               min="1" max="20" step="0.1">
        <label for="new_product_price_field">Price:</label>
        <input type="number" id="new_product_price_field" name="new_product_price"
               min="0" step="0.1">
        <label for="new_product_description_field">Description</label>
        <textarea name="new_product_description" id="new_product_description_field" cols="30" rows="10" required></textarea>
        <input type="submit" value="Create" id="create_new_product_button" name="create_new_product">
    </form>

result:

Array
(
    [new_product_image] => beer.jpg
    [new_product_name] => b
    [new_product_alcoholContent] => 2
    [new_product_price] => 2
    [new_product_description] => b
    [create_new_product] => Create
)
Array
(
)

I woiuld appreciate some help

Answer

Solution:

please add enctype atrribute in your form.

<form action="" method="post" enctype="multipart/form-data">

do let me know if you need some more help, because there are alot of part missing in your code like getting the temp name of uploaded file, there is no such method move_uploaded_file() in your code, so i have not putted down those steps as I'm assuming you are already familiar with how to handle the uploaded file

Source