From cdf1bda847edd3e22e9fe817a802219ad8e0f626 Mon Sep 17 00:00:00 2001 From: polo Date: Wed, 8 Sep 2021 02:09:34 +0200 Subject: vignette --- model/Image.php | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 model/Image.php (limited to 'model/Image.php') diff --git a/model/Image.php b/model/Image.php new file mode 100644 index 0000000..0070b70 --- /dev/null +++ b/model/Image.php @@ -0,0 +1,59 @@ +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; + } + } +} \ No newline at end of file -- cgit v1.2.3