====== Photomaton ====== Réalisez une galerie de photos type photomaton. ===== Page d'accueil ===== la page d'accueil est un formulaire permettant d'envoyer une image et un texte, facile. {{:ressources:php:photomat_index.png?direct|}} **Bonus :** pour ceux qui veulent tenter un peu de javascript, pendant que l'image d'upload et que la page suivante charge, mettez un petit loader{{:ressources:php:loader.gif?direct& |}} ===== Page de traitement ===== La page de traitement, peut s'appeler par exemple make.php ou process.php, elle n'a pas de template, c'est à dire qu'elle n'a pas de vue HTML associée. Une fois qu'elle aura effectué tous ses traitements, elle va rediriger vers la page de visualisation de l'image transformée. Quand le formulaire est envoyé, * vérifiez su le fichier est une image (function image_test($file)) * uploadez le fichier (function image_upload($file)) * modifiez l'image pour la transformer en [[http://www.poladroid.net/stuff/zoom/hxN0q_pola100.jpg|polaroïd]] ou en [[http://web.mit.edu/jsf/2008/img/tess_project6.jpg|photomaton]] (function image_transform($file,$legend)) * enregistrez l'image dans le dossier /uploads/ (function image_save($im)) * ajoutez l'image et sa référence dans la base de données (function gallery_add($filename,$legend)) Si tout s'est bien déroulé, redirigez le navigateur vers la page picture.php?id=XX où XX est le numéro de l'id que vous venez d'insérer. Pour récupérer l'id de l'image que vous venez d'enregistrer dans mysql, vous devez utiliser [[phpfn>mysql_insert_id]]. Pour rediriger la page, vous devez utiliser [[phpfn>header]] avec une syntaxe du genre header('Location: picture.php?id=19'); **Astuce :** Au début au lieu d'utiliser le [[phpfn>header]], faites un lien comme ceci echo 'la suite'; Comme ça, s'il y a des erreurs dans la page vous les verrez s'afficher au lieu de passer à la page d'après. ===== Page de visualisation d'une image ===== La page picture.php visualise l'image en fonction de l'id de base de données. {{:ressources:php:photomat_view.png?direct&|}} Pour cette page, il suffit d'afficher les infos de l'image (function gallery_view($id)) ===== Page de galerie ===== La page gallery.php liste toutes les images (function gallery_all()) et les lie vers les pages picture.php?id=xx {{:ressources:php:photomat_gallery.png?direct&|}}