page = $_GET['page']; $this->ajax = $ajax; } // GET public function getError() { return($this->erreur); } public function upload() { // traitement et enregistrement de l'image if (isset($_FILES['upload']) AND $_FILES['upload']['error'] == 0) // 0 signifie ok { if ($_FILES['upload']['size'] <= self::MAX_WEIGHT) { $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/' . $this->page . '/images/' . $_FILES['upload']['name']); chmod('data/' . $this->page . '/images/' . $_FILES['upload']['name'], 0666); } else{$this->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{$this->erreur = 'fichier trop lourd';} } else { $this->erreur = $_FILES['upload']['error']; } // retour des rêquetes AJAX if($this->ajax) { // nouveau chemin à renvoyer en format json $chemin = '{"url": "data/' . $this->page . '/images/' . $_FILES['upload']['name'] . '"}'; //echo json_encode($chemin); echo $chemin; } } }