Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster -> FAQ BDD, Cours BDD et Sources BDD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 05/11/2009, 20h05   #1
Membre extrêmement actif(ve)
 
Avatar de lodan
 
Date d'inscription: juin 2006
Messages: 1 662
Par défaut Lecture difficile d'un fichier CSV

Bonsoir,

Je lis un fichier CSV et il fait bien une cinquantaine d'enregistrement puis il boucle.

Je suis obligé d'arrêter firefox, puis de le relancer.

Je relance le traitement et à nouveau une cinquantaine.

Code :
if (!$file = fopen($fileinput, "r"))
		{
			echo "Echec de l'ouverture du fichier";
			return false;
		}
		
		if ($file)
		{
			while (!feof($file))
			{
				$contenu = explode($prestataire['prest_lap_format_separateur'], fgets ($file, 4096));
}
}
C'est étrange et je ne vois pas pourquoi.

Une idée ?

Merci d'avance.
__________________
Y a pas, plus on fait, plus on sait. Plus on cherche, plus on sait chercher. Maintenant quant à trouver, c'est autre chose.
lodan est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 05/11/2009, 23h25   #2
Nouveau membre du Club
 
Date d'inscription: janvier 2006
Localisation: Paris
Messages: 75
Envoyer un message via MSN à {Anthony}
Par défaut

Bonsoir,

Ca n'explique pas pourquoi vous avez ce problème mais peut-être pourriez vous essayer une méthode alternative :

Code php :
 
 
$csv = file_get_contents($fileinput);
 
$csvLines= explode("\n", $csv);
foreach ($csvLines as $csvLine) {
    $contenu = explode($prestataire['prest_lap_format_separateur'], $csvLine);
}
 
 
{Anthony} est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 06/11/2009, 14h52   #3
Membre extrêmement actif(ve)
 
Avatar de lodan
 
Date d'inscription: juin 2006
Messages: 1 662
Par défaut

Merci,

J'ai essayé, mais le problème persiste.

au delà de 40 enregistrements traités, il boucle.
__________________
Y a pas, plus on fait, plus on sait. Plus on cherche, plus on sait chercher. Maintenant quant à trouver, c'est autre chose.
lodan est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 06/11/2009, 15h10   #4
Membre éprouvé
 
Avatar de guigo
 
Date d'inscription: juin 2006
Messages: 418
Par défaut

Bonjour Lodan,
Peux tu preciser sur il boucle ?
guigo est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 06/11/2009, 15h56   #5
Membre Confirmé
 
Avatar de JmL40
 
Date d'inscription: mai 2007
Localisation: Mont-de-Marsan
Âge: 24
Messages: 278
Envoyer un message via MSN à JmL40
Par défaut

Salut,

Pourquoi tu n'utilises pas la fonction fgetcsv, fonction dédiée à la lecture d'une ligne d'un fichier csv!

http://php.net/manual/fr/function.fgetcsv.php

De plus, il faut faire attention au contenu du fichier CSV, une ligne peut ne pas avoir de contenu mais être considérée comme telle à la lecture par ces fonctions.

Cordialement
__________________
while (true) echo 'comique';
Du comique de répétition ...
Pour des questions de lisibilité, utilisez la balise [code]
Si votre problème est résolu, n'oubliez pas le tag
JmL40 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 07/11/2009, 18h29   #6
Membre extrêmement actif(ve)
 
Avatar de lodan
 
Date d'inscription: juin 2006
Messages: 1 662
Par défaut

J'ai l'impression qu'il boucle, parcequ'il ne met plus à jour la table MySql et qu'il reste des enregistrements dans le fichier CSV.

J'ai le même script pour lire des fichiers TXT et il me fait le même problème.

J'ai mis ça pour voir s'il y avait quelque chose, mais non.

Code :
ini_set("log_errors", 1);
ini_set("display_errors", 1);
error_reporting(E_ALL);
Il me crée 45 enregistrements, et plus rien. Quand je dis plus rien, firefox tourne mais il ne se passe plus rien.

Si je laisse l'exécution trop longtemps, je suis obligé de tuer firefox
__________________
Y a pas, plus on fait, plus on sait. Plus on cherche, plus on sait chercher. Maintenant quant à trouver, c'est autre chose.
lodan est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 10/11/2009, 09h50   #7
Membre extrêmement actif(ve)
 
Avatar de lodan
 
Date d'inscription: juin 2006
Messages: 1 662
Par défaut

Bon, il y avait une erreur sur un champ inexistant au moment de la création de l'enregistrement.

Cette erreur n'était pas bloquante pour les 45 1er enregistrement et après il bloquait.

J'ai mis une initialisation du champ et tout fonctionne.

ça me paraît bizarre, mais c'est un constat.

Merci pour votre accompagnement.
__________________
Y a pas, plus on fait, plus on sait. Plus on cherche, plus on sait chercher. Maintenant quant à trouver, c'est autre chose.
lodan est déconnecté   Envoyer un message privé Réponse avec citation
NEWS PHPFAQ PHPCours PHPSources PHPLivres PHPScripts PHPOutils PHPComparatifsZend Framework

Réponse Proposer ce sujet en actualité

Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD



Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non



Fuseau horaire GMT +1. Il est actuellement 05h17.


Vos questions techniques : forum d'entraide PHP - Publiez vos articles, tutoriels et cours
et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones
Nous contacter - Hébergement - Participez - Copyright © 2000-2010 www.developpez.com - Legal informations.