Class fileCreator generer rapidement un fichier
Par Gauthier, dans Flash Media Server -# 7 - Fil RSS
voila une petite class server side sans pretention aucune, qui va nous permettre de trés rapidement creer un fichier text, xml ou autre.
Il m'est arrivé pour une raison ou une autre de vouloir stocker des informations coté server sans passer forcement par une bdd, et je dois dire que fms possède une petite api File intéressante
, j'ai donc rapidement bidouille un petit micmac me permettant de rapidement faire ce dont j'avais besoin. Ici je vous donne la version ultra light et simple de la class, a vous après de la reprendre et de l'adaptée selon vos besoin.
Je trouve très pratique le fait de pouvoir générer du xml à la volée coté server
.
Coté Server :
try { var dummy = fileCreator; } catch (e) { fileCreator = function (Name) { this.fileObject = new File(Name); if (this.fileObject.exists) { this.fileObject.open("text", "append"); } else { this.fileObject.open("text", "create"); } }; fileCreator.prototype.addLine = function(texte) { if (this.fileObject.isOpen) { this.fileObject.writeln(texte); } else { this.fileObject.open("text", "append"); this.fileObject.writeln(texte); } }; fileCreator.prototype.addAll = function(array) { if (this.fileObject.isOpen) { this.fileObject.writeAll(array); } else { this.fileObject.open("text", "append"); this.fileObject.writeAll(array); } }; fileCreator.prototype.save = function() { this.fileObject.flush(); }; trace("[fileCreator loaded successfully]."); }
La mise en place est extremement simple vous n'avez qu'a constater :
Coté Server :
load ("fileCreator.asc"); application.onAppStart = function () { this.txt = new fileCreator ("montest.txt"); } application.onConnect = function (client) { this.acceptConnection (client) for (var prop in client) { this.txt.addLine (prop + " : " + client [prop]); } this.txt.save () } application.onDisconnect = function (client) { }
Vous voyez rien de plus simple ![]()
voici les méthodes :
addLine(String); // la ligne a écrire
addAll(Array);//un tableau avec l'ensemble des lignes a écrire
save() ; // écrit les données sur le disque
Attention si vous n'exécuter pas save() vos données seront gardé en cache et non écrite sur le disque ce qui peut saturer le server.
Commentaires
#1 - Le jeudi 7 septembre 2006 à 14:00, par thecaptain
#2 - Le jeudi 7 septembre 2006 à 18:56, par ekameleon
#3 - Le vendredi 8 septembre 2006 à 08:10, par thecaptain
#4 - Le vendredi 8 septembre 2006 à 14:14, par Gauthier
#5 - Le vendredi 8 septembre 2006 à 17:18, par ekameleon
#6 - Le samedi 9 septembre 2006 à 15:56, par Gauthier
#7 - Le vendredi 17 novembre 2006 à 09:58, par afondimage
Ajouter un commentaire