Manipulation des fichiers externes

Soyez le premier à donner votre avis sur cette source.

Snippet vu 11 533 fois - Téléchargée 28 fois

Contenu du snippet

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

Source / Exemple :


<!-- 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+

A voir également

Ajouter un commentaire Commentaires
Messages postés
13
Date d'inscription
vendredi 23 janvier 2004
Statut
Membre
Dernière intervention
23 février 2013

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
Messages postés
2
Date d'inscription
vendredi 20 avril 2012
Statut
Membre
Dernière intervention
19 avril 2004

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:
<cfloop condition = "#Find("#Chr(9)##Chr(9)#", "#ligne#",1)#">
<cfset ligne=Replace(#ligne#, "#Chr(9)##Chr(9)#", "#Chr(9)#Empty#Chr(9)#", "All")>
</cfloop>
Et voili :D
Messages postés
2
Date d'inscription
vendredi 20 avril 2012
Statut
Membre
Dernière intervention
19 avril 2004

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:
<cfset PROD_REF = #GetToken('#ligne#',1,'#chr(9)#')#>

Voili
+
Messages postés
164
Date d'inscription
dimanche 1 octobre 2000
Statut
Membre
Dernière intervention
23 mars 2007
1
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.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.