<?php
 //dossier temporaitre pour les images
define('PATH_TO_TEMP', "temp");

// Vérifier si le formulaire a été soumis
if($_SERVER["REQUEST_METHOD"] == "POST")
{
    // Vérifie si le fichier a été uploadé sans erreur.

    //format de la réponse
    if(isset($_FILES["photo"]) && $_FILES["photo"]["error"] == 0)
    {
        $allowed = array(
            "jpg" => "image/jpeg", 
            "png" => "image/png",
            "PNG" => "image/PNG"
        );
        $filename = htmlspecialchars(trim($_FILES["photo"]["name"]));// évite les noms de fichiers trop exotiques 
        $newfilename = $filename;
        $filetype = $_FILES["photo"]["type"];
        $filesize = $_FILES["photo"]["size"];
        $message = "";
        $error = true; 
        $errorType = "";

        // Vérifie l'extension du fichier
        $ext = pathinfo($filename, PATHINFO_EXTENSION);
        if(array_key_exists($ext, $allowed))//die("Erreur : Veuillez sélectionner un format de fichier valide.");
        {
            // Vérifie la taille du fichier - 1 Mo maximum
            $maxsize = 1 * 1024 * 1024;
            if(!($filesize > $maxsize)) //die("Error: La taille du fichier est supérieure à la limite autorisée.");
            {
                // Vérifie le type MIME du fichier ATTENTION - VERIFIE SEULEMENT L'EXTENSION
                if(in_array($filetype, $allowed))
                {
                    // Vérifie si le fichier existe avant de le télécharger.
                    if(file_exists(PATH_TO_TEMP."/".$_FILES["photo"]["name"]))
                    {
                        //echo $_FILES["photo"]["name"] . " existe déjà.";
                        $error = false;
                        move_uploaded_file($_FILES["photo"]["tmp_name"],  PATH_TO_TEMP."/".$newfilename);
                        $message = $_FILES["photo"]["name"] . " existe déjà.";
                    }
                    else
                    {
                       move_uploaded_file($_FILES["photo"]["tmp_name"],  PATH_TO_TEMP."/".$filename);
                        // echo "Votre fichier a été téléchargé avec succès.";
                        // echo("<br></br>");
                        // echo "taille de la photo : ".$_FILES["photo"]["size"]." octets";
                        $error = false;
                        $message = "Votre fichier a été téléchargé avec succès.<br></br> Taille de la photo : ".$_FILES["photo"]["size"]." octets";
                    } 
                } 
                else{
                    // echo "Error: Il y a eu un problème de téléchargement de votre fichier. Veuillez réessayer."; 
                    $message = "Error: Il y a eu un problème de téléchargement de votre fichier. Le format $filetype n'est pas accepté."; 
                    $errorType = "MIME";
                }
            }
            else
            {
                $message = "Error: La taille du fichier est supérieure à la limite autorisée.";
                $errorType = "poids_taille";
            }
        }
        else{
            $message = "Erreur : Veuillez sélectionner un format de fichier valide.";
            $errorType = "format";
        }
    } 
    else{
        // echo "Error: " . $_FILES["photo"]["error"];
        $message = "Error: " . $_FILES["photo"]["error"];
    }
    $data = array(
        "errorType"=>$errorType,
        "message" => $message,//<--Message qui pourra être affiché
        "error" => $error,//<----- Prend la valeur true (erreur!) ou false (ouf!)
        // "src" => PATH_TO_ID."/".$_FILES["photo"]["name"]
    );
    echo json_encode($data);
}
?>