Votre question

Création fichier

Tags :
  • Php
  • Programmation
Dernière réponse : dans Programmation
5 Décembre 2005 17:49:58

bonjour a tous,

j'aimerai savoir si il est possible de créer un fichier race a un formulaire..
j'aimerai que des personnes remplisse un formulaire et l'envoit, ce qui craierai un fichier a télécharger...
C'est possible? si oui, quelqu'un peut m'aider? ou me donner un site où c'est expliqué?
Merci

Autres pages sur : creation fichier

5 Décembre 2005 19:10:36

Tu peux en php!
Faut connaitre un peu le php, mais rien de bien compliqué!
la fonction fopen te créer et d'ouvre un fichier, aprés fwrite pour mettre ce que tu veu dedant, et fclose pour fermer!
Et voila!

Bon chance
5 Décembre 2005 20:11:36

a la suite de ce ue dis mr_keyser, tu peux ensuite créer un lien dynamique qui permettra a ton utilisateur de telecharger le fichier généré.
Contenus similaires
5 Décembre 2005 20:15:31

oui ben justement j'ai cherché un peu mais je trouve pas d'exemple de code..... vous pourriez m'aider?
5 Décembre 2005 22:28:22

Allez, je suis sympa ce soir, je t'ai pondu un exemple!
  1. <?php
  2. // tu recupere tes données de formulaire, par exemple :
  3.  
  4. $nom = $_POST['nom'];
  5. $prenom = $_POST['prenom'];
  6. $age = $_POST['age'];
  7.  
  8. $nom_fichier = $nom.".txt";
  9.  
  10. // puis tu créer un fichier, au nom du mec, et tu l'ouvre :
  11. if(!$pointeur = fopen("fichier/".$nom_fichier,"w")) { // creer est ouvre le fichier. Si l'ouverture échou, ca renvoi fopen renvoi false
  12. print("Erreur à la création du fichier"); // si erreur donc, on sort de là!
  13. exit;
  14. } else { // si le fichier est ouvert, on continu
  15. $verif = true; // pour vérifier que ca ecrit bien
  16. $verif = fwrite($pointeur, $nom."\n"); // on ecrit nos truc, le \n c'est pour faire un retour a la ligne
  17. $verif = fwrite($pointeur, $prenom."\n");
  18. $verif = fwrite($pointeur, $age);
  19. if(!$verif) {
  20. print("Erreur à l'écriture dans le fichier");
  21. exit;
  22. }
  23. fclose($pointeur); // on ferme notre fichier
  24. }
  25.  
  26. // voila, le fichier est creer et rempli. On affiche maintenant le lien pour le télécharger!
  27. echo "<a href='fichier/".$nom_fichier."'> Lien du récapitulatif</a>";
  28.  
  29. ?>


J'ai tester, ca marche impec! Faut adapter a ton cas, et ca roule!
6 Décembre 2005 00:35:06

Merci beaucoup Mr_Keyser c vraiment sympa de ta part ;-)

cela dit j'ai pas de bol moi ca marche pas lol!!!!

alors je cree mon formulaire:
  1. <html>
  2. <head>
  3. <title></title>
  4. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  5. </head>
  6.  
  7. <body>
  8. <form action="ivb.php" method="post">
  9. <input type="text" value="S=1" readonly name="S"><br>
  10. <input type="text" value="logon=y" readonly name="logon"><br>
  11. <input type="text" value="background=n" readonly name="background"><br>
  12. <input type="text" value="domain=ivisit.net" readonly name="domain"><br>
  13. <input type="text" value="user=invite@NouNours" readonly name="user"><br>
  14. <input type="text" value="pass=MON_PASS" readonly name="pass"><br>
  15. <input type="text" value="join=ivisit.net/iVisit World/Europe/France/B A R - T A B A C/BAR - TABAC" readonly name="join"><br>
  16. Votre nom:
  17. <input type="text" name="nom"> <input type="submit" name="envoi" value="Créer">
  18. <br>
  19.  
  20. </form>
  21. </body>
  22. </html>



Ensuite je fais le fichier ou il y a ton code:

  1. <body>
  2. <?php
  3. // tu recupere tes données de formulaire, par exemple :
  4.  
  5. $S = $_POST['S'];
  6. $logon = $_POST['logon'];
  7. $background = $_POST['background'];
  8. $domain = $_POST['domain'];
  9. $user = $_POST['user'];
  10. $pass = $_POST['pass'];
  11. $join = $_POST['join'];
  12.  
  13. $nom_fichier = $nom".ivb";
  14.  
  15. // puis tu créer un fichier, au nom du mec, et tu l'ouvre :
  16. if(!$pointeur = fopen("fichier/".$nom_fichier,"w")) { // creer est ouvre le fichier. Si l'ouverture échou, ca renvoi fopen renvoi false
  17. print("Erreur à la création du fichier"); // si erreur donc, on sort de là!
  18. exit;
  19. } else { // si le fichier est ouvert, on continu
  20. $verif = true; // pour vérifier que ca ecrit bien
  21. $verif = fwrite($pointeur, $S."\n"); // on ecrit nos truc, le \n c'est pour faire un retour a la ligne
  22. $verif = fwrite($pointeur, $logon."\n");
  23. $verif = fwrite($pointeur, $background."\n");
  24. $verif = fwrite($pointeur, $domain."\n");
  25. $verif = fwrite($pointeur, $user."\n");
  26. $verif = fwrite($pointeur, $pass."\n");
  27. $verif = fwrite($pointeur, $join);
  28. if(!$verif) {
  29. print("Erreur à l'écriture dans le fichier");
  30. exit;
  31. }
  32. fclose($pointeur); // on ferme notre fichier
  33. }
  34.  
  35. // voila, le fichier est creer et rempli. On affiche maintenant le lien pour le télécharger!
  36. echo "<a href='fichier/".$nom_fichier."'> Lien du récapitulatif</a>";
  37.  
  38. ?>
  39. </body>
  40. </html>


Ca me dis: Parse error: parse error, unexpected T_CONSTANT_ENCAPSED_STRING in /homepages/30/d139724074/htdocs/ivi/ivb.php on line 19

en sachant que la ligne 19 est celle ci:
  1. $nom_fichier = $nom".ivb";



C'est de ma faute si ca marche pas? j'ai fait une erreur???
6 Décembre 2005 16:58:07

Me revoià lol :-D

Alors c'est bon tout marche impec comme sur des roulettes! Grand MERCI[/size] a toi Mr_Keyser pour ton code... en fait quand j'ai collé dans dreamweaver MX, ca as retiré des point et des crochet! je sais pas pourquoi.... enfin bon ca marche..
j'aimerai savoir si on peux ajouter une fonction:

j'aimerai que quand on clique sur "créer" dans mon formulaire, que le fichier soit créé automatiquement (sans etre redirigé vers une autre page) et que le telechargement de ce fichier débute automatiquement..

aussi, serai t'il possible de faire un script pour afficher le nombre de fichier créé dans le répertoire?

j'essaye de chercher desesperement sur lephpfacile mais j'trouve rien... :-(
merci a ceux qui prenne le temps de lire et répondre ;-)
6 Décembre 2005 20:38:18

Alors en php, je sais pas trop, recharger la meme page...enfin je sais pas trop, faudrai bidouiller!
Mais sinon, si ta la motivation, tu peux le faire en javascript!
Un évenement OnClick sur le bouton qui appel une fonction! Et j'ai vu qu'on peux creer des fichiers en javascript genre CreateTextFile, et ecrire dedant et tout, rien de très compliquer je pense!
Et donc la, le fichier serai générer sans que la page soit recharger!
Bonne chance!
6 Décembre 2005 20:42:54

ouais ben la je suis pas assez calé pour bidouiller autant quoi!.. rooooooooooo c'est compliqué quand meme tous les codes pour de si petite fonctions...
j'ai fait a peu pres ce que je voulai avec des include mais bon... c'est pas le top quoi!
sinon pour compter le nombre de fichier dans un repertoire?? c'est faisable?
6 Décembre 2005 21:32:06

pour compter les fichiers d'un dossier :
  1. $dossier = opendir("un_dossier/");
  2. $i = 0;
  3. while ($Fichier = readdir($dossier))
  4. {
  5. if ( $Fichier != ".." && $Fichier != ".")
  6. {
  7. $i ++;
  8. }
  9. }
  10. closedir($dossier);
  11.  
  12. print("Il y as ".$i." fichiers dans le repertoire");

Ca devrait passer je pense!

Sinon pour le fichier, en javascript, j'ai fait un truc, mais ca utilise les activeX, donc c'est le bordel, pas compatible mozilla, bloqué par default sur internet explorer....bref, te met le code si tu veu quand meme en faire quelque chose!
  1. <html>
  2. <head>
  3. <title>Test javascript fichier</title>
  4. </head>
  5. <*script>
  6. function createFichier(formu) {
  7. var nom = formu[0].value;
  8. var prenom = formu[1].value;
  9. var age = formu[2].value;
  10. var nomFichier = nom+".txt";
  11. var Object = new ActiveXObject('Scripting.FileSystemObject');
  12. var newFichier = Object.CreateTextFile(nomFichier,true);
  13. newFichier.Write(nom+"\n"+prenom+"\n"+age);
  14. newFichier.Close();
  15.  
  16. }
  17. </script>
  18. <body>
  19. <= action="" method="post" onsubmit="createFichier(this);">
  20. Nom : <= type="text" name="nom" />
  21.  
  22. Prenom : <= type="text" name="prenom" />
  23.  
  24. Age : <= type="text" name="age" />
  25.  
  26. <= type="submit" name="submit" value="Envoyer"/>
  27. </form>
  28. </body>
  29. </html>

Bon c'est moche, c'est du javascript, et je suis pas douer en javascript!
Mais ca marche, ca creer bien un fichier avec les infos sans rediriger la page!
Mais ca marche qu'avec internet explorer après avoir autorisé l'active X!
Bref, vraiment pas cool quoi!

Le mieux, ca reste en php, une petite redirection rapide, pas très grave!
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS