j'utilise un formulaire html sur l'un de mes articles, je réussis à obtenir les valeurs du formulaire à l'aide de JInput!
$input = JFactory::getApplication()->input;
Mais maintenant, je dois ajouter une entrée pload de fichier au formulaire:
<input type="file" name="upload">
Comment télécharger et sauvegarder des fichiers sur le serveur en utilisant JInput !?
Téléchargement de fichier avec restrictions, n'autorisant que des extensions de fichier spécifiques.
En plus de la réponse de @ Bakual, supposons un formulaire simple comme celui-ci:
<form name="upload" method="post" enctype="multipart/form-data">
<input type="file" name="file_upload">
</form>
Pour télécharger le fichier une fois que le bouton d'envoi a été pressé, vous pouvez utiliser ceci:
$input = JFactory::getApplication()->input;
$file = $input->files->get('file_upload');
// Cleans the name of teh file by removing weird characters
$filename = JFile::makeSafe($file['name']);
$src = $file['tmp_name'];
$dest = JPATH_BASE . '/modules/mod_mymodule/' . $filename;
if (JFile::upload($src, $dest))
{
// The file has successfully been uploaded :)
}
else
{
// Oh crap, something happened. Run!
}
Vous devrez évidemment changer le chemin ($dest
) à tout ce qui vous convient.
Il y a un tas de validations à effectuer lors du traitement des téléchargements, vous en trouverez beaucoup sur le lien qui vous a déjà été fourni:
Il y a deux choses délicates que les gens tombent généralement quand il s'agit de télécharger des fichiers avec JInput:
enctype="multipart/form-data"
$input->files->get('upload');