begin process at 2008 08 29 04:39:14
1 233 502 membres
43 nouveaux aujourd'hui
14 291 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

MANIPULATION DES FICHIERS EXTERNES


Information sur la source

Catégorie :Chaîne de Caractères Classé sous : manipulation, fichier Niveau : Débutant Date de création : 19/04/2002 Date de mise à jour : 19/04/2002 17:30:19 Vu : 6 390

Note :
10 / 10 - par 1 personne
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (4)
Ajouter un commentaire et/ou une note

Description

Voilà quelques petits exemples de manipulation de fichiers externes...

Source

  • <!-- Parcours d'un fichier et récupération des donnés de chaque ligne -->
  • <!-- Exemple : Chaque ligne correspond à un produit -->
  • <!-- Chaque ligne contient la référence, désignation, prix HT (Frs) et prix HT (Euros) -->
  • <!-- Chaque donnée est séparée par un point virgule -->
  • <!-- Utilisation : Récupérer chaque donnée et mettre à jour les produits d'une base de données -->
  • <cffile action="READ" file="votre fichier" variable="fic">
  • <cfloop list="#fic#" delimiters='#chr(13)##chr(10)#' index="ligne">
  • <cfset PROD_REF = #GetToken('#ligne#',1,';')#>
  • <cfset PROD_DES = #GetToken('#ligne#',2,';')#>
  • <cfset PROD_PX_HT_FR = #GetToken('#ligne#',3,';')#>
  • <cfset PROD_PX_HT_EU = #GetToken('#ligne#',4,';')#>
  • <cfoutput>
  • #PROD_REF# #PROD_DES# #PROD_PX_HT_FR# #PROD_PX_HT_EU#<br>
  • </cfoutput>
  • </cfloop>
  • <!-- Ecriture dans un fichier texte -->
  • <cffile action="write" file="votre fichier" output="bonjour">
  • <!-- Lecture d'un fichier texte -->
  • <cffile action="read" file="votre fichier" variable="ligne">
  • <cfoutput>Contenu du fichier : #ligne#</cfoutput>
  • <!-- Suppression d'un fichier -->
  • <cffile action="delete" file="votre fichier">
<!-- Parcours d'un fichier et récupération des donnés de chaque ligne -->

<!-- Exemple : Chaque ligne correspond à un produit -->
<!-- Chaque ligne contient la référence, désignation, prix HT (Frs) et prix HT (Euros) -->
<!-- Chaque donnée est séparée par un point virgule -->

<!-- Utilisation : Récupérer chaque donnée et mettre à jour les produits d'une base de données -->

<cffile action="READ" file="votre fichier" variable="fic">

<cfloop list="#fic#" delimiters='#chr(13)##chr(10)#' index="ligne">
	<cfset PROD_REF 			= #GetToken('#ligne#',1,';')#>
	<cfset PROD_DES 			= #GetToken('#ligne#',2,';')#>
	<cfset PROD_PX_HT_FR 		= #GetToken('#ligne#',3,';')#>
	<cfset PROD_PX_HT_EU 		= #GetToken('#ligne#',4,';')#>
	
	<cfoutput>
		#PROD_REF#     #PROD_DES#     #PROD_PX_HT_FR#     #PROD_PX_HT_EU#<br>
	</cfoutput>
</cfloop>

<!-- Ecriture dans un fichier texte -->
<cffile action="write" file="votre fichier" output="bonjour">

<!-- Lecture d'un fichier texte -->
<cffile action="read" file="votre fichier" variable="ligne">
<cfoutput>Contenu du fichier : #ligne#</cfoutput>

<!-- Suppression d'un fichier -->
<cffile action="delete" file="votre fichier">
 

Conclusion

Voili voilou en esperant que cela vous aura servi

A+
  • signaler à un administrateur
    Commentaire de bastoun le 21/04/2002 01:38:54

    Pour le premier exemple, il est aussi possible d'utiliser un driver texte et de déclarer le fichier en tant que base, en indiquant quel est le séparateur des champs. Pour maintenir le contenu c'est plus simple à utiliser.

  • signaler à un administrateur
    Commentaire de orangetanguine le 19/04/2004 14:35:55

    Merci beaucoup, ce code m'a fait gagner pas mal de temps ;o)
    Pour informations:
    - les deux chaines "Chr(13) & Chr(10)" correspondent à une nouvelle ligne ("the two-character string Chr(13) & Chr(10) is the newline string" d'après la doc de Coldfusion).
    - Si vos champs sont séparés par des tabulations il faut remplacer ";" par #chr(9)#, ce qui donne:
    &lt;cfset PROD_REF       = #GetToken('#ligne#',1,'#chr(9)#')#&gt;

    Voili
    +

  • signaler à un administrateur
    Commentaire de orangetanguine le 19/04/2004 17:37:22

    Encore une petite aide... Si comme moi, vous avez deux tab qui se suivent (en gros deux champs vides), il faut faire une petite moulinette:
    &lt;cfloop condition = "#Find("#Chr(9)##Chr(9)#", "#ligne#",1)#"&gt;
    &lt;cfset ligne=Replace(#ligne#, "#Chr(9)##Chr(9)#", "#Chr(9)#Empty#Chr(9)#", "All")&gt;
    &lt;/cfloop&gt;
    Et voili :D

  • signaler à un administrateur
    Commentaire de cedlannoy le 03/08/2006 11:11:43

    Question,
    si j'ai un champ de vide et donc deux ; qui se suivent, comment faut-il faire pour le remonter correctement dans une base, car sinon les champs se décallent!

    merci

    ced

Ajouter un commentaire

Pub



Appels d'offres

Recherche developpeur ...
Budget : 700€
SITE MARCHAND LOCATION...
Budget : 3 000€
SITE MARCHAND POUR HOTEL
Budget : 4 000€

CalendriCode

Août 2008
LMMJVSD
    123
45678910
11121314151617
18192021222324
25262728293031

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Téléchargements

Boutique

Boutique de goodies CodeS-SourceS