Script ouverture fichiers

James
Invité n'ayant pas de compte PHPfrance

16 mars 2010, 10:43

Bonjour à tous,
Voilà je souhaite crée un programme en php qui ouvrirai un à un tous le fichier temporaire d'un dossier commencant par "result", compterai le nombre de ligne de chaqu'un et à la fin de la lecture ne conserverai uniquement le fichier contenant le plus de ligne.


Etant débutant en programmation si vous pouvez me dire en gros qu'elles fonctions je pourrai utiliser cela m'aiderai beaucoup.

D'avance merci

ViPHP
ViPHP | 5462 Messages

16 mars 2010, 11:29

hello pour le nombre de ligne tu peux utiliser fileavec count et pour la liste des fichiers utiliser readdir

James
Invité n'ayant pas de compte PHPfrance

16 mars 2010, 11:49

Les fonction file et count permettent bien de compter le nombre de ligne, en revanche je ne comprend pas trop la fonction readdir, peut'elle me permettre de lire dans une boucle l'ensemble de mes fichiers ayant des noms différents?

ViPHP
ViPHP | 5462 Messages

16 mars 2010, 12:03

Les fonction file et count permettent bien de compter le nombre de ligne, en revanche je ne comprend pas trop la fonction readdir, peut'elle me permettre de lire dans une boucle l'ensemble de mes fichiers ayant des noms différents?
oui ca lire tout les fichiers/dossiers d'un dossiers a toi après de faire le tri dans ta boucle
sinon tu pourrais utiliser DirectoryIterator avec un wrapper glob mais si tu débute un va commencer soft :wink:

James
Invité n'ayant pas de compte PHPfrance

16 mars 2010, 12:05

Ok merci beaucoup pour tes réponses

James
Invité n'ayant pas de compte PHPfrance

16 mars 2010, 12:27

Alors voilà le petit script que j'ai écrit

<?php
if ($handle = opendir('/tmp/')) {
    while (false !== ($file = readdir($handle))) {
       if ($file = "resultpf") {                      #Je sélectionne les fichiers commancant par  "resultpf"
          

		$fichier = file("$file");

		$nb_ligne=count($fichier);
		
		echo $nb_ligne;
	}
    }
    closedir($handle);
}

?>
Le script ne fonctionne pas, il me renvoie une erreur comme quoi il ne peut pas ouvrir les fichiers (ceux ci défile bien) mais il me sélectionne tous les fichiers du répertoire, ma sélection ne fonctionne donc pas

Warning: file(prf3NLPTk) [function.file]: failed to open stream: Aucun fichier ou répertoire de ce type in /opt/lampp/htdocs/profils/score.class.php on line 7
1


Pouvez vous m'aider SVP

ViPHP
ViPHP | 5462 Messages

16 mars 2010, 12:48

pour les comparaisons c'est ==

JAmes
Invité n'ayant pas de compte PHPfrance

16 mars 2010, 13:10

Effectivement, à présent il ne me renvoie plus d'erreur mais ne m'affiche pas le résultat.
Je pense que le problème vient de la sélection des fichiers je met "$file == "resultpf*"", L"*" est cessé récupérer n'importe quel caractère derière, non?
Voici un fichier type "resultpfXyILI2" ils font tous 6 caractères aléatoires apres le "resultpf".
Pourquois ne m'affiche t'il pas les lignes

ViPHP
ViPHP | 5462 Messages

16 mars 2010, 14:23

non le "*" (wildcard) ca marche pas comme ca tu pourrais utilisé strstr
si tu veux utilisé les wildcard c'est la q'intervient glob
:wink:

james
Invité n'ayant pas de compte PHPfrance

16 mars 2010, 14:35

Merci pour tout

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

16 mars 2010, 14:50

Modération :
Puisque ta question est résolue, je l'indique en ajoutant la petite icône verte "Résolu" pour que les futures personnes qui voudront consulter ce sujet sachent qu'il contient une solution.

TTu peux réaliser cette opération toi-même en cliquant sur le bouton Image en haut à droite de la réponse qui te semble la plus pertinente, si tu as posté le 1er message en tant que membre (inscrit et identifié).

Alors... inscris-toi !!! ;)

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute