Ecrire dans un fichier CSV

Eléphant du PHP | 65 Messages

12 avr. 2021, 12:37

Bonjour, Je voudrais écrire dans un fichier CSV pour le relire avec Excel avec 2 colonnes.
Le fichier indésirables.txt contient une liste d'adresse email
Voici mon code :
<?php
$fp = fopen('indésirables.txt', 'r');
$fp2 = fopen('eclate.csv', 'w');
$tab_lignes = array();
$i = 0;
while (!feof($fp))
{
	$ligne = fgets($fp); 
	$ligne = rtrim($ligne);
	$tab_lignes = explode($ligne, "@");
	//echo '<pre>'; print_r($tab_lignes); echo '</pre>'; 
	fputcsv($fp2, $tab_lignes, "\t");
	$i++;
if ($i == 5) { break; }
}

fclose($fp);
fclose($fp2);

Problème je n'ai que des @ dans le fichier cible. :wink:

Pouvez-vous m'aider ?

Mammouth du PHP | 2703 Messages

12 avr. 2021, 12:48

//echo '<pre>'; print_r($tab_lignes); echo '</pre>';
enlever les //, se rendre compte que la variable ne contient pas ce qui est attendu. alors relire la doc :
https://www.php.net/manual/fr/function.explode.php

Eléphant du PHP | 65 Messages

12 avr. 2021, 13:31

oui j'ai inverser les paramètres
$tab_lignes = explode("@",$ligne);
mais ceci ne fonctionne pas, j'ai des caractères bizarres dans mon fichier cible
merci "or 1"