8791 sujets

Développement web côté serveur, CMS

Bonjour à tous

Je suis à la recherche d'aide pour un projet que je dois effectuer.

Je vous explique mon problème j'ai un fichier .txt
sous cette forme

20120713|80|A|PROXIMA CENTURI|EF|5499|44532835400011|5829C|||TPE||Services|
20120713|80|B|9 RUE DUPERRE||75009|PARIS|FR|0175432840|0175432849|contact@proximaevents.com|www.proximaevents.com|02|01/03/2010|500|2011|
20120713|80|C|01|0204 0205||Médias et Technique pour l'évènement, production audiovisuelle. Médias : infographie, impression, vidéo, sound design. Technique : gestion technique (matériel et personnel), vote électronique. Production audiovisuelle : films, animations 3D|1|CCI Paris, CCI Moselle|1|Santé : Merck Serono / Agro-alimentaire : Danone / Commerce et Grande distribution : Carrefour / Banque et Assurance : Groupama / Formation : Acadomia / Média : Canal+ / Automobile : Peugeot / Remise de Prix : Oscars de l'Innovation / …||||||||
20120713|80|D|CHABENI|FARID|Monsieur|2986|Directeur Associé|0175432841|0660566130|f.chabeni@proximaevents.com||
20120713|80|D||||||||||
20120713|80|D||||||||||


(développement XSLT)

et je voudrais parvenir a prendre toute les donnée de la ligne A et le mettre dans un autre fichier texte A.txt

et ainsi de suite pour les autres lignes B.txt , C.txt et D.txt

Je vous remercie d'avance pour votre aide
C'est du CSV avec un pype comme séparateur non? par contre il y a pas de délimiteur de texte...

Dans ce cas je pense qu'un preg_split marchera en coupant sur les retours chariot.

Ensuit une boucle avec le tableau résultant et c'est fait.
JJK801 merci pour ta réponse aurais tu des tuto ou exemple par ce que le codage avec le fichier j'y connais pas trop Smiley confused
Première étape, tu récupère le contenu de ton fichier:


$content = file_get_contents('monfichier.txt');


Ensuite tu le split:


$lines = preg_split('#(\r?\n)#', $content);


$lines devient alors un tableau contenant tes lignes, tu fait une boucle:


foreach($lines as $row => $line)
{
  // ajouter au fichier ici
}
Donc en gros je fais un truc comme ça?


<?php
$content = file_get_contents('Alize.txt');
$lines = preg_split('#(\r?\n)#', $content);

foreach($lines as $row => $line)
{
$line;
$file = fopen("A.txt", "w"); // ouvre le fichier en écriture
fwrite($file, $line); 
fclose($file); // ferme le fichier
  
}
?>

$content = file_get_contents('Alize.txt');
$lines = preg_split('#(\r?\n)#', $content);

$letter = 'A'; 

foreach($lines as $line)
{
  $file = file_put_contents($letter++ . '.txt', $line);
}

Modifié par jb_gfx (16 Jul 2012 - 18:05)

?php
$filename = $_POST['fichier'];
 
 
if (file_exists($filename)) 
{
$content = file_get_contents($filename);
$lines = preg_split('#(\r?\n)#', $content);
$letter = 'A'; 
foreach($lines as $line)
{
 $file = file_put_contents($letter++ . '.txt', $line);
}
echo "<p class='ok'>L'injection des tiers a bien été effectuée.</p>";
}
else 
{
echo "<p class='er'>Le fichier $filename n'existe pas.</p>";
}


il me génére bien à chaque ligne un fichier texte differents le type de ligne

mais le probleme c'est que le 3 dernières lignes sont du même type D comment le regrouper en un fichier D.txt?