Concaténer plusieurs fichiers

cs_mbik Messages postés 31 Date d'inscription mardi 1 avril 2008 Statut Membre Dernière intervention 10 mars 2011 - 27 nov. 2009 à 22:20
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 - 6 déc. 2009 à 10:31
Bonjour, je sollicite votre aide pour résoudre mon problème.
J'explique, je suis débutant en php et là je viens de terminer la 1ère partie de mon script php qui doit générer des fichiers csv.
Maintenant je souhaiterai qu'il fasse appelle à un autre script, toujours php de préférence, qui permettra de concaténer tous les fichiers csv en un seul.
Sachant que tous les fichiers ont les même colonnes ie les colonnes NOM, PRENOM, ADRESSE, AGE, N° PORTABLE


Je compte beaucoup sur votre aide chers mais.

Rien de plus sympa que l'entraide en info

13 réponses

tabasco_nemesis Messages postés 11 Date d'inscription samedi 22 juillet 2006 Statut Membre Dernière intervention 23 novembre 2011
27 nov. 2009 à 22:30
Je pense qu'il suffit de charger les contenus des fichiers dans des variables et après de faire une concaténation de chaine string.

par exemple :
$file_A = file_get_contents('./fichier1.txt', FILE_USE_INCLUDE_PATH);
$file_B = file_get_contents('./fichier2.txt', FILE_USE_INCLUDE_PATH);
$fichier_A_B = $file_A . $file_B;


ou alors
$files = file_get_contents('./fichier1.txt', FILE_USE_INCLUDE_PATH) . file_get_contents('./fichier2.txt', FILE_USE_INCLUDE_PATH);


pour des fichiers txt ou CSV, c'est ascii, ça marche aussi pour html, etc.

http://fr2.php.net/manual/fr/function.fread.php
ou
http://fr2.php.net/manual/fr/function.file-get-contents.php
0
tabasco_nemesis Messages postés 11 Date d'inscription samedi 22 juillet 2006 Statut Membre Dernière intervention 23 novembre 2011
27 nov. 2009 à 22:35
S'cuse j'ai oublié

le point (.) entre $file_A et $file_B, c'est ça qui fait la concaténation de chaine de caractère.

Par les deux fonctions citées, le contenu du fichier chargé dans les variables, c'est une chaine de caractères.
0
cs_mbik Messages postés 31 Date d'inscription mardi 1 avril 2008 Statut Membre Dernière intervention 10 mars 2011
27 nov. 2009 à 23:01
Merci pour ta réactivité. Je fais des tests et je te tiens informer.


Rien de plus sympa que l'entraide en info
0
cs_mbik Messages postés 31 Date d'inscription mardi 1 avril 2008 Statut Membre Dernière intervention 10 mars 2011
4 déc. 2009 à 17:47
Bonjour,
excuser moi du temps que j'ai mis avant de répondre. j'étais en convalescence. j'ai testé la fonction et elle marche bien mais comment mettre son contenu dans un fichier de sortie csv?

Rien de plus sympa que l'entraide en info
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
5 déc. 2009 à 13:59
Salut,

... suffit de l'enregistrer, non ?
<?php
file_put_contents('truc.csv', $fichier_A_B);
?>


Cordialement,

Kohntark -
0
cs_mbik Messages postés 31 Date d'inscription mardi 1 avril 2008 Statut Membre Dernière intervention 10 mars 2011
5 déc. 2009 à 14:41
pauvre de moi.
Je viens de voir ton message .
Et quand je pense que j'ai créé un fichier dos en 2 lignes pour concatener mes fichiers.

MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI

C'est sympa de ta part mais pourrai-je t'envoyer l'ensemble de mon code par mail pour que tu me donne des conseils dessus parce que c'est vrai qu'il marche mais le code semble être sale aux yeux d'un


Rien de plus sympa que l'entraide en info
0
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
5 déc. 2009 à 15:20
Nous somme sur un forum Mbik, l'un des buts essentiels est le partage.
Si tu veux des avis poste ton code, enfin, partiellement hein, en privilégiant les parties qui te semblent les plus "sales".



Kohntark -
0
cs_mbik Messages postés 31 Date d'inscription mardi 1 avril 2008 Statut Membre Dernière intervention 10 mars 2011
5 déc. 2009 à 18:15
juste un dernier point. je viens d'essayer de connecter mon script à deux bases de données mais j'ai un message d'erreur.
A ce que je comprend les noms des deux bases sont trop long pour PHP qui dans le message d'erreur les considère comme des objets incorrects et même n'affiche pas les noms des bases dans leur intégralité.
Y a t'il une solution pour ce genre de cas parce que si je renomme les bases par des noms plus courts le script marche très bien.
Malheureusement sans la connexion à ses bases ce script et le temps passé dessus n'auront servit à rien.

Comment faire


Rien de plus sympa que l'entraide en info
0
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
5 déc. 2009 à 18:23
Peut on voir l'erreur exacte et le code qui la génère ?


Kohntark -
0
cs_mbik Messages postés 31 Date d'inscription mardi 1 avril 2008 Statut Membre Dernière intervention 10 mars 2011
5 déc. 2009 à 20:40
Bonsoir,
Voici le message d'erreur qui s'affiche :
Warning: mssql_select_db() [function.mssql-select-db]: message: Impossible de trouver l'entrée dans sysdatabases pour la base de données 'CLIENT_PARIS_NICE_STRASBOURG_B'. Aucune entrée ne porte ce nom. Assurez-vous que le nom est correctement saisi. (severity 16) in C:\wamp\www\databasefactory\www\appli\extraction_sfr\index.php on line 23

Warning: mssql_select_db() [function.mssql-select-db]: Unable to select database: CLIENT_PARIS_NICE_STRASBOURG_B in C:\wamp\www\databasefactory\www\appli\extraction_sfr\index.php on line 23


Rien de plus sympa que l'entraide en info
0
cs_mbik Messages postés 31 Date d'inscription mardi 1 avril 2008 Statut Membre Dernière intervention 10 mars 2011
5 déc. 2009 à 20:42
Warning: mssql_select_db() [function.mssql-select-db]: message: Impossible de trouver l'entrée dans sysdatabases pour la base de données 'CLIENT_PARIS_NICE_STRASBOURG_B'. Aucune entrée ne porte ce nom. Assurez-vous que le nom est correctement saisi. (severity 16) in C:\wamp\www\index.php on line 23

Warning: mssql_select_db() [function.mssql-select-db]: Unable to select database: CLIENT_PARIS_NICE_STRASBOURG_B in C:\wamp\www\index.php on line 23

Rien de plus sympa que l'entraide en info
0
cs_mbik Messages postés 31 Date d'inscription mardi 1 avril 2008 Statut Membre Dernière intervention 10 mars 2011
5 déc. 2009 à 20:45
Remarque sur le message le nom de la base est coupé en :
'CLIENT_PARIS_NICE_STRASBOURG_B'
or que la base se nomme : CLIENT_PARIS_NICE_STRASBOURG_BORDEAUX.

Et quand je donne crée une nouvelle avec comme NOM : 'CLIENT_PARIS_NICE_STRASBOURG_B' le systéme se connecte normalement


Rien de plus sympa que l'entraide en info
0
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
6 déc. 2009 à 10:31
Re,

... tu n'as pas trop le choix :
- soit tu renommes le nom de tes bases / noms de table, etc ... afin qu'ils ne dépassent pas 30 caractères
- soit tu abandonnes l'utilisation de la fonction mssql au profit de ODBC ou PDO_ODBC.

La seconde solution est recommandée.

Cordialement,


Kohntark -
0
Rejoignez-nous