upload.php 3.58 KB
Newer Older
1
 <?php
Okthane's avatar
p  
Okthane committed
2 3
 //dossier temporaitre pour les images
define('PATH_TO_TEMP', "temp");
4

5
// Vérifier si le formulaire a été soumis
Okthane's avatar
Okthane committed
6 7
if($_SERVER["REQUEST_METHOD"] == "POST")
{
8
    // Vérifie si le fichier a été uploadé sans erreur.
9 10

    //format de la réponse
MARQUE Pierre's avatar
MARQUE Pierre committed
11 12
    if(isset($_FILES["photo"]) && $_FILES["photo"]["error"] == 0)
    {
Okthane's avatar
Okthane committed
13 14
        $allowed = array(
            "jpg" => "image/jpeg", 
Okthane's avatar
Okthane committed
15 16
            "png" => "image/png",
            "PNG" => "image/PNG"
Okthane's avatar
Okthane committed
17
        );
Okthane's avatar
m  
Okthane committed
18
        $filename = htmlspecialchars(trim($_FILES["photo"]["name"]));// évite les noms de fichiers trop exotiques 
Okthane's avatar
Okthane committed
19
        $newfilename = $filename;
20 21
        $filetype = $_FILES["photo"]["type"];
        $filesize = $_FILES["photo"]["size"];
MARQUE Pierre's avatar
MARQUE Pierre committed
22
        $message = "";
Okthane's avatar
Okthane committed
23
        $error = true; 
Okthane's avatar
Okthane committed
24
        $errorType = "";
25 26 27

        // Vérifie l'extension du fichier
        $ext = pathinfo($filename, PATHINFO_EXTENSION);
28
        if(array_key_exists($ext, $allowed))//die("Erreur : Veuillez sélectionner un format de fichier valide.");
MARQUE Pierre's avatar
MARQUE Pierre committed
29
        {
Okthane's avatar
Okthane committed
30 31
            // Vérifie la taille du fichier - 1 Mo maximum
            $maxsize = 1 * 1024 * 1024;
32
            if(!($filesize > $maxsize)) //die("Error: La taille du fichier est supérieure à la limite autorisée.");
MARQUE Pierre's avatar
MARQUE Pierre committed
33
            {
Okthane's avatar
Okthane committed
34
                // Vérifie le type MIME du fichier ATTENTION - VERIFIE SEULEMENT L'EXTENSION
35 36 37
                if(in_array($filetype, $allowed))
                {
                    // Vérifie si le fichier existe avant de le télécharger.
Okthane's avatar
p  
Okthane committed
38
                    if(file_exists(PATH_TO_TEMP."/".$_FILES["photo"]["name"]))
39 40
                    {
                        //echo $_FILES["photo"]["name"] . " existe déjà.";
Okthane's avatar
Okthane committed
41
                        $error = false;
Okthane's avatar
Okthane committed
42
                        move_uploaded_file($_FILES["photo"]["tmp_name"],  PATH_TO_TEMP."/".$newfilename);
43 44 45 46
                        $message = $_FILES["photo"]["name"] . " existe déjà.";
                    }
                    else
                    {
Okthane's avatar
p  
Okthane committed
47
                       move_uploaded_file($_FILES["photo"]["tmp_name"],  PATH_TO_TEMP."/".$filename);
48 49 50
                        // echo "Votre fichier a été téléchargé avec succès.";
                        // echo("<br></br>");
                        // echo "taille de la photo : ".$_FILES["photo"]["size"]." octets";
Okthane's avatar
Okthane committed
51
                        $error = false;
52 53 54 55 56
                        $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."; 
Okthane's avatar
Okthane committed
57 58
                    $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";
59
                }
MARQUE Pierre's avatar
MARQUE Pierre committed
60 61 62
            }
            else
            {
63
                $message = "Error: La taille du fichier est supérieure à la limite autorisée.";
Okthane's avatar
Okthane committed
64
                $errorType = "poids_taille";
65 66
            }
        }
MARQUE Pierre's avatar
MARQUE Pierre committed
67
        else{
68
            $message = "Erreur : Veuillez sélectionner un format de fichier valide.";
Okthane's avatar
Okthane committed
69
            $errorType = "format";
70
        }
MARQUE Pierre's avatar
MARQUE Pierre committed
71 72 73 74
    } 
    else{
        // echo "Error: " . $_FILES["photo"]["error"];
        $message = "Error: " . $_FILES["photo"]["error"];
75
    }
Okthane's avatar
Okthane committed
76
    $data = array(
Okthane's avatar
Okthane committed
77
        "errorType"=>$errorType,
Okthane's avatar
p  
Okthane committed
78 79
        "message" => $message,//<--Message qui pourra être affiché
        "error" => $error,//<----- Prend la valeur true (erreur!) ou false (ouf!)
Okthane's avatar
n  
Okthane committed
80
        // "src" => PATH_TO_ID."/".$_FILES["photo"]["name"]
Okthane's avatar
Okthane committed
81 82
    );
    echo json_encode($data);
83
}
Okthane's avatar
Okthane committed
84
?>