$_FILES['upload']['name'], //~ 'type' => $_FILES['upload']['type'], //~ 'tmp_name' => $_FILES['upload']['tmp_name'], //~ 'error' => $_FILES['upload']['error'], //~ 'size' => $_FILES['upload']['size'] //~ ); // print_r sert à "afficher" un tableau, // le 2ème paramètre 'true' permet de produire une simple chaine au lieu d'un affichage HTML // $tableau = print_r($_FILES, true); // $nom_fichier = "POST_AJAX.log"; // $fichier = fopen('data/' . $page . '/images/' . $nom_fichier, 'w'); // // w peut créer un fichier, si il existe déjà, il est effacé par le nouveau contenu // fputs($fichier, $tableau); // fclose($fichier); // chmod('data/' . $page . '/images/' . $nom_fichier, 0666); // déjà fait dans installation.php if(!file_exists('data/' . $page . '/images')) { mkdir('data/' . $page . '/images', 0777); chmod('data/' . $page . '/images', 0777); } // taille en Mo à adapter au serveur (2Mo est la valeur par défaut dans le php.ini) $tailleMax = 2000000; $erreur = ''; // traitement et enregistrement de l'image if (isset($_FILES['upload']) AND $_FILES['upload']['error'] == 0) // 0 signifie ok { if ($_FILES['upload']['size'] <= $tailleMax ) { $infos = pathinfo ($_FILES['upload']['name']); $extension = $infos['extension']; $extautorisées = array('jpg', 'jpeg', 'png', 'gif', 'bmp', 'webp', 'tiff'); // on prend la même liste que celle côté javascript, le SVG est bloqué pour raison de sécurité (javascript à l'intérieur) if (in_array ($extension, $extautorisées)) { move_uploaded_file ($_FILES['upload']['tmp_name'], 'data/' . $page . '/images/' . $_FILES['upload']['name']); chmod('data/' . $page . '/images/' . $_FILES['upload']['name'], 0666); } else{$erreur = 'mauvais format, veuillez utiliser une image comportant un de ces formats: jpg ou jpeg, png, gif, bmp, webp, tiff
le format svg n\'est pas supporté';} } else{$erreur = 'fichier trop lourd';} } else{$erreur = $_FILES['upload']['error'];} /* les erreurs retournées avec $_FILES['upload']['error']: 0 pas d'erreur 1 taille du fichier supérieure à la valeur de upload_max_filesize dans le fichier php.ini (par défaut = 2 MO) 2 taille du fichier supérieure à la valeur de MAX_FILE_SIZE dans le formulaire HTML 3 fichier partiellement téléchargé 4 pas de fichier du tout 6 pas de dossier temporaire pour mettre le fichier 7 echec de l'écriture sur le DD 8 envoi arrêté par une extension de PHP mais on ne nous dit pas pourquoi => diagnostic avec la fonction phpinfo() */ // nouveau chemin à renvoyer en format json $chemin = '{"url": "data/' . $page . '/images/' . $_FILES['upload']['name'] . '"}'; //echo json_encode($chemin); echo $chemin;