Howto: Drupal Formulaire De Téléchargement De Fichier
Je vais avoir de la difficulté à trouver comment écrire un module avec une forme qui télécharge les fichiers, dans Drupal 6. Quelqu'un peut-il expliquer cela, ou m'indiquer un bon exemple/de la documentation en parler?
EDIT:
Ici est entièrement ce que je suis en train de faire:
- Utilisateur télécharge un .csv
- Module lit la première ligne du fichier pour obtenir les champs de
- Utilisateur correspond à champs csv avec db
- Chaque csv ligne est enregistrée en tant que nœud (aperçu en premier)
Jusqu'à présent, je peux le faire 1, 2, et 4 avec succès. Mais on ne sait pas exactement comment les étapes doivent interagir les uns avec les autres ($form_state['redirect']? comment devrait être utilisé?), et quelles sont les meilleures pratiques. Et pour la 3, dois-je enregistrer que les données de session?
Comment puis-je passer le fichier de données entre les différentes étapes?
Je sais que node_import existe, mais il n'a jamais travaillé pour moi, et mon bug demandes ignorées.
2ème EDIT: j'ai utilisé au début et à la fin de chaque page que nécessaire pour traiter le dossier:
$file = unserialize($_SESSION['file']);
//alter $file object
$_SESSION['file'] = serialize(file);
Je ne suis pas certain que c'est les meilleures pratiques, mais elle fonctionne.
OriginalL'auteur Nick Heiner | 2009-08-10
Vous devez vous connecter pour publier un commentaire.
Ce n'est pas trop difficile, vous pouvez voir quelques infos ici. Un exemple de formulaire avec seulement de téléchargement de fichiers.
EDIT:
Maintenant pour enregistrer le fichier, utilisez l' file_save_upload fonction:
2ème EDIT:
Il y a beaucoup de questions et de façons de faire les choses que vous avez décrit. Je ne vais pas aller trop dans le code de la façon de traiter un fichier csv. Ce que je suggère, c'est que vous utilisez l'id de fichier pour garder une trace du fichier. Qui vous permettrait de faire des url qui prennent de la fid et de l'utiliser pour charger le fichier que vous souhaitez travailler.
Pour obtenir à partir de votre formulaire à l'étape suivante, vous pouvez utiliser le #redirect propriété de formulaire pour obtenir vos utilisateurs à l'étape suivante. À partir de là est vraiment dépend de la façon dont vous faites les choses, ce que vous aurez besoin pour le faire.
après edit: ok, et maintenant, si je voulais, par exemple, afficher le fichier de valeurs sur la page?
Pouvez-vous être un peu plus précis. Le rendu d'une image, une vidéo ou d'un fichier txt nécessitera des approches très différentes. Qu'essayez-vous de faire, qui ne peut être fait avec CCK du champ de fichier? De toute façon $fichier est le fichier de l'objet, de sorte que vous devriez être en mesure de faire ce que vous voulez.
édité pour plus de précision
Je suis novice dans drupal, si j'ai un formulaire d'inscription avec de multiples champ avec
upload button
comment puis-je atteindre cet objectif. Puisque vous êtes déjà en déclarant ` $form = array('#attributs' => array('enctype' => 'multipart/form-data'));` ? .... elle n'affecte d'autres champs de formulaireOriginalL'auteur googletorp