Kohana: validation et upload de fichiers
Ce petit bout de code, fonctionnant uniquement sur une version récente du SVN (qui correspond à une 2.2 hybride où upload::save a été ajouté assez récement et utilisant la nouvelle version de la lib de validation), déniché sur le forum permet d'effectuer les tâches suivantes:
- Validation de certains attributs d'une image uploadé
- Traitement sur l'image (réduction)
<?php // On mets ici les règles de validation sur l'image // Le tableau $_FILES doit être valide, l'image doit être de type gif, jpg ou png et ne doit pas dépasser 1 Mo $_FILES = Validation::factory($_FILES) ->add_rules('picture', 'upload::valid', 'upload::type[gif,jpg,png]', 'upload::size[1M]'); // Si les règles sont validées if ($_FILES->validate()) { // Déplace le fichier dans le répertoire Config::item('upload.directory', TRUE); $filename = upload::save('picture'); // Réduit l'image et la sauve Image::factory($filename) ->resize(100, 100, Image::WIDTH) ->save(DOCROOT.'media/pictures/'.basename($filename).'.jpg'); // Supprime le fichier temporaire unlink($filename); // Redirige vers une autre page url::redirect('account/information'); }
Le code ainsi que ses mise à jour futures éventuelles peut être trouvé ici.
Tags: débuter, form, formulaires, Kohana, PHP, upload, validation