supprimer une ligne vide [résolu] - PHP - Programmation
Marsh Posté le 03-02-2006 à 13:32:29
oui mais l'insert (le fichier) est variable. Comment detecter la ligne vide et la supprimer juste en retournant la taille de la chaine?
Marsh Posté le 03-02-2006 à 13:41:46
if (file_exists($file))
$fp = fopen("$file", "r" );
else
{
echo "<DIV CLASS=\"error\">Fichier introuvable !<br>Importation stoppée.</DIV>";
exit();
}
while (!feof($fp))
{
$ligne = fgets($fp,4096);
$liste = explode( ",",$ligne);
$liste1 = str_replace("\r", "",$liste);
$liste2= str_replace("\"", "",$liste1);
$nom = $liste2[0];
$mail = $liste2[1];
$query = "INSERT INTO $table VALUES('$nom','$mail')";
$result= MYSQL_QUERY($query);
Marsh Posté le 03-02-2006 à 13:49:21
Bin en super simple:
Code :
|
Marsh Posté le 03-02-2006 à 13:53:21
t'es puissant mec! peux tu m'expliquer? en effet sur le manuel php srtlen est là pour conter les caractères.
MERCI MERCI en tous cas!
Marsh Posté le 03-02-2006 à 14:00:02
bensti a écrit : t'es puissant mec! peux tu m'expliquer? en effet sur le manuel php srtlen est là pour conter les caractères. |
Bin strlen "compte" le nombre de caractères, si y'en a pas ça retourne 0 et le if foire ...
Marsh Posté le 03-02-2006 à 14:02:05
ah ok! il compre les caractères par ligne. j'avais pas vu comme ça si y'en à 0. En effet c'est logique. on peut mettre résolu.
P.S:désolé pour "compte".
Marsh Posté le 03-02-2006 à 14:22:14
Attention, si tu ne veux pas de ligne "visiblement vide", il faut compter le nombre de caractére sans tenir compte des espaces et caractéres assimilés se trouvant en début et fin de ligne.
Pour ça, la fonction trim est utile vu qu'elle retourne la chaine donnée aprés en avoir enlevé ces caractéres.
Code :
|
permet donc de ne pas insérer entre autre les lignes ne contenant que des espaces et des tabulations.
Marsh Posté le 03-02-2006 à 12:59:48
Salut! j'importe un fichier texte dans une base sql via une routine php, cependant quand les fichiers ont une ligne vide en fin de fichier, j'ai une entrée vide dans ma base. Comment je peux procéder pour supprimer les lignes vides? Merci de vos réponses...
Message édité par bensti le 03-02-2006 à 14:02:21