Listage de fichiers avec array - PHP - Programmation
Marsh Posté le 30-08-2004 à 16:06:30
SI j'ai bien compris la question c'est la fonction usort qu'il te faut.
Marsh Posté le 30-08-2004 à 16:08:07
Oui mais ça c'est en plus, je me suis pas penché dessus encore.
Le problème déjà c'est que je n'arrive pas à faire afficher les données de l'array dans les cellules du tableau...
Merci
Marsh Posté le 30-08-2004 à 16:19:52
Ben deja tu as plusieurs erreurs dans ton code
Ligne 13 : tu ecrases à chaque fois ton fichier $log.
Mme toute ta fonction va te peter à la gueule s'il y a un repertoire dans ce dossier
Ligne 25 : c'est $tableau et pas $tableaux
Marsh Posté le 30-08-2004 à 16:29:48
Merci pour l'erreur en ligne 25.
Pour la ligne 13, tu proposes quoi ? Je comprend pas trop là
quand je j'affiche les données avec print_r j'obtiens :
Array
(
[fichier] => log01-08-2004.txt
[date] => 01-08-2004
[poids] => 0.1
[nbligne] => 1
)
Array
(
[fichier] => log02-08-2004.txt
[date] => 02-08-2004
[poids] => 0.1
[nbligne] => 1
)
Array
(
[fichier] => log03-08-2004.txt
[date] => 03-08-2004
[poids] => 37
[nbligne] => 255
)
etc...
Ce n'est pas ça qu'il me faut pour mettre dans mes cellules ensuite ?
Marsh Posté le 30-08-2004 à 16:33:51
Oula pas normal que ca t'affiche ca (a moins que ton print_r tu l as fait juste en dessous du $log = ...)
Autre petit truc ton $i++; tu le passes avant l'accolade fermante ca t'evitera de faire ton $i = $i - 3;
en gros faut que tu fasses une sorte de $log[$i] =
Marsh Posté le 30-08-2004 à 16:39:36
rempalce aussi tes lignes 25 26 27 par
while (list($key, $valeur) = each($tableaux)) {
supprime 40 et 41
Ca devrait marcher avec mon $log[$i] du dessus.
Mais y a pleins de trucs à revoir pour que ca soit parfait.
Marsh Posté le 30-08-2004 à 16:46:53
Et voici le morceau de code qui va bien pour ton tri par date.
Code :
|
Marsh Posté le 30-08-2004 à 16:48:15
Merci pour le $i, je n'y avais pas pensé
pour le print_r, j'ai ça
Code :
|
Donc il faudrait que je remplace :
$log=array('fichier'=>$file, 'date'=>$date, 'poids'=>$taille, 'nbligne'=>$nbligne);
par :
$log[]=array('fichier'=>$file, 'date'=>$date, 'poids'=>$taille, 'nbligne'=>$nbligne);
et j'obtiens ça :
Array
(
[0] => Array
(
[fichier] => log01-08-2004.txt
[date] => 01-08-2004
[poids] => 0.1
[nbligne] => 1
)
)
Array
(
[0] => Array
(
[fichier] => log01-08-2004.txt
[date] => 01-08-2004
[poids] => 0.1
[nbligne] => 1
)
[1] => Array
(
[fichier] => log02-08-2004.txt
[date] => 02-08-2004
[poids] => 0.1
[nbligne] => 1
)
)
Array
(
[0] => Array
(
[fichier] => log01-08-2004.txt
[date] => 01-08-2004
[poids] => 0.1
[nbligne] => 1
)
C'est normal ?
si je remplace : print_r($log);
par : print_r($log[$i]);
je n'obtiens plus la liste mais j'ai des cle qui sont dans le tableau maintenant et c'est un peu n'importe quoi ce que j'obtiens :
http://surfoo3.free.fr/images/array.jpg
Je sens que je suis proche de ce que je veux, mais j'y arrive pas
Marsh Posté le 30-08-2004 à 16:51:50
Tout le code qui marche.
Mais fait attention j'ai change ton truc pour les dates ^^
Code :
|
Marsh Posté le 30-08-2004 à 18:20:14
C'est possible d'avoir un echo et de retourner un tableau dans la même fonction ?
Car je ne peux pas récupérer les variables $sumtaille et $sumligne.
Donc j'ai fait ça à la place des 2 lignes :
Code :
|
et ensuite j'ai testé en mettant ça dans la fonction :
Code :
|
Et ça fonctionne mais si je met ça en dehors de la fonction ça ne fonctionne pas, d'ou ma question..
Merci
Marsh Posté le 31-08-2004 à 09:52:39
Oui c'est possible, sauf que bon normalement les fonctions sont pas trop la pour faire des echo, enfin c'est pas bien grave ca.
Marsh Posté le 30-08-2004 à 15:39:14
Voilà je veux lister des fichiers logs de mon site (sous la forme : log29-08-04.txt, et il y en a un par jour), par ordre de date et en utilisant les tableaux.
Pour l'instant je n'ai pas fait le tri par date de fichier mais si vous pouviez me dire comment faire car je ne vois pas trop comment faire...
En plus du listage, je récupère la taille du fichier et le nombre de ligne du fichier (ça fonctionne ça).
J'ai voulu faire ça en utilisant les tableaux mais j'ai un peu de mal là. J'espere que je suis bien parti déjà... Le problème est dans la fonction...
Voilà le code :
J'ai fait un
et les données du tableau s'affichent bien.
Si vous pouviez me dire en plus pour le tri par date de fichier
Merci beaucoup.
Edit: Si vous voyez des trucs que je pourrais optimiser, n'hésitez pas aussi .