Différences
Ci-dessous, les différences entre deux révisions de la page.
| Prochaine révision | Révision précédente | ||
| dev_web:recadrer_photo [2019/01/11 12:58] – créée norore | dev_web:recadrer_photo [2024/01/25 10:08] (Version actuelle) – supprimée norore | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | ====== Uploader une photo recadrée à la volée ====== | ||
| - | ===== Requis ===== | ||
| - | |||
| - | * Croppies.js | ||
| - | * PHP | ||
| - | * HTML | ||
| - | * CSS | ||
| - | |||
| - | ===== Qu' | ||
| - | |||
| - | Jouer avec base64. | ||
| - | |||
| - | ===== Code source ===== | ||
| - | |||
| - | ==== Javascript ==== | ||
| - | |||
| - | <code javascript> | ||
| - | $uploadCrop = $('# | ||
| - | enableExif: true, | ||
| - | viewport: { | ||
| - | width: 300, | ||
| - | height: 400 | ||
| - | }, | ||
| - | boundary: { | ||
| - | width: 400, | ||
| - | height: 400 | ||
| - | } | ||
| - | }); | ||
| - | |||
| - | $('# | ||
| - | var input = $(this)[0]; | ||
| - | if (input.files && input.files[0]) { | ||
| - | var reader = new FileReader(); | ||
| - | | ||
| - | reader.onload = function (e) { | ||
| - | $uploadCrop.croppie(' | ||
| - | url: e.target.result | ||
| - | }).then(function(){ | ||
| - | console.log(' | ||
| - | }); | ||
| - | } | ||
| - | reader.readAsDataURL(input.files[0]); | ||
| - | } | ||
| - | else { | ||
| - | alert(" | ||
| - | } | ||
| - | }); | ||
| - | |||
| - | $('# | ||
| - | var input = $(this)[0]; | ||
| - | if (input.files && input.files[0]) { | ||
| - | var reader = new FileReader(); | ||
| - | | ||
| - | reader.onload = function (e) { | ||
| - | $uploadCrop.croppie(' | ||
| - | url: e.target.result | ||
| - | }).then(function(){ | ||
| - | console.log(' | ||
| - | }); | ||
| - | } | ||
| - | reader.readAsDataURL(input.files[0]); | ||
| - | } | ||
| - | else { | ||
| - | alert(" | ||
| - | } | ||
| - | }); | ||
| - | |||
| - | function showResult(result) { | ||
| - | if (result.src) { | ||
| - | var img = result.src; | ||
| - | $('# | ||
| - | } | ||
| - | if (result.blob) { | ||
| - | var img = result.blob; | ||
| - | $('# | ||
| - | } | ||
| - | } | ||
| - | |||
| - | $('# | ||
| - | $uploadCrop.croppie(' | ||
| - | type: ' | ||
| - | size: ' | ||
| - | }).then(function (value) { | ||
| - | showResult({src: | ||
| - | }); | ||
| - | }); | ||
| - | |||
| - | $('# | ||
| - | $uploadCrop.croppie(' | ||
| - | type: ' | ||
| - | size: ' | ||
| - | }).then(function (value) { | ||
| - | showResult({blob: | ||
| - | }); | ||
| - | }); | ||
| - | </ | ||
| - | |||
| - | ==== Rendu HTML ==== | ||
| - | |||
| - | ==== PHP ==== | ||
| - | |||
| - | <code php> | ||
| - | if ($request-> | ||
| - | $file = $individu-> | ||
| - | $base64 = $request-> | ||
| - | list($type, | ||
| - | list(, $data) | ||
| - | $data = base64_decode($data); | ||
| - | |||
| - | if (!preg_match('/ | ||
| - | $request-> | ||
| - | } | ||
| - | if (!preg_match('/ | ||
| - | $request-> | ||
| - | } | ||
| - | if (!preg_match('/ | ||
| - | $request-> | ||
| - | } | ||
| - | else { | ||
| - | try { | ||
| - | $fileName = md5(uniqid()) . ' | ||
| - | file_put_contents($this-> | ||
| - | $individu-> | ||
| - | |||
| - | $em = $this-> | ||
| - | $em-> | ||
| - | $em-> | ||
| - | |||
| - | $request-> | ||
| - | |||
| - | return $this-> | ||
| - | ' | ||
| - | array( | ||
| - | ' | ||
| - | ' | ||
| - | ' | ||
| - | ' | ||
| - | ' | ||
| - | ' | ||
| - | ' | ||
| - | ' | ||
| - | ' | ||
| - | ' | ||
| - | ' | ||
| - | ' | ||
| - | )); | ||
| - | } catch (Exception $e) { | ||
| - | $msg | ||
| - | $msg .= "< | ||
| - | $msg .= "Si l' | ||
| - | |||
| - | $request-> | ||
| - | $request-> | ||
| - | } | ||
| - | } | ||
| - | } | ||
| - | </ | ||