Php sort
Fermé
Ph[]b[]s
Messages postés
23
Date d'inscription
vendredi 25 janvier 2008
Statut
Membre
Dernière intervention
31 mars 2009
-
7 mars 2009 à 19:41
Ph[]b[]s Messages postés 23 Date d'inscription vendredi 25 janvier 2008 Statut Membre Dernière intervention 31 mars 2009 - 9 mars 2009 à 19:08
Ph[]b[]s Messages postés 23 Date d'inscription vendredi 25 janvier 2008 Statut Membre Dernière intervention 31 mars 2009 - 9 mars 2009 à 19:08
A voir également:
- Php sort
- Easy php - Télécharger - Divers Web & Internet
- Aucun son ne sort de mon pc - Guide
- Je branche mes écouteurs mais le son sort du téléphone iphone - Forum Samsung
- Php natif - Forum PHP
- Get_magic_quotes_gpc php 8 ✓ - Forum PHP
11 réponses
dolmenhir
Messages postés
246
Date d'inscription
mercredi 4 mars 2009
Statut
Membre
Dernière intervention
13 mars 2009
25
7 mars 2009 à 20:16
7 mars 2009 à 20:16
mama mia !
c'est quoi ce balisage ???
tu fermes ton body et derrière tu continues à écrire ??
et du <br> entre un </td> et un </tr> ??? pour quoi faire ???
Bon, un peu de ménage
Et là j'ai fais que le minimum syndical :o
Bon, j'ai pas résolu ton problème principal, mais, crois moi, je t'ai quand même bien aidé ;)
c'est quoi ce balisage ???
tu fermes ton body et derrière tu continues à écrire ??
et du <br> entre un </td> et un </tr> ??? pour quoi faire ???
Bon, un peu de ménage
<body> <b>VOICI LES SOURCE TV</b> blablabla <?php $rep = "./"; $dir = opendir($rep); function dd($date) { return date("d/m/Y H:i:s",$date); } echo '<center><table style="border:2px;background-color:#FF9900">' .'<tr><td>nom</td><td>taille</td><td>date</td></tr>'; while ($f = readdir($dir)) { if(is_file($rep.$f)) { echo '<tr>' .'<td><a href="' .$f . '">' .$f . '</a></td>' .'<td> '.filesize($rep.$f).' octets </td>' .'<td> '.dd(filectime($rep.$f)).'</td>' .'</tr>'; } } echo '</table></center>'; closedir($dir); ?> </body>
Et là j'ai fais que le minimum syndical :o
Bon, j'ai pas résolu ton problème principal, mais, crois moi, je t'ai quand même bien aidé ;)
dolmenhir
Messages postés
246
Date d'inscription
mercredi 4 mars 2009
Statut
Membre
Dernière intervention
13 mars 2009
25
7 mars 2009 à 20:31
7 mars 2009 à 20:31
bon, une indication... (j'ai aps le temps de faire plus pour l'instant)
utilise un tableau (array)
place chaque item de ton répertoire dans le tableau puis trie le tableau
utilise un tableau (array)
place chaque item de ton répertoire dans le tableau puis trie le tableau
Ph[]b[]s
Messages postés
23
Date d'inscription
vendredi 25 janvier 2008
Statut
Membre
Dernière intervention
31 mars 2009
1
7 mars 2009 à 20:56
7 mars 2009 à 20:56
J'ai testé les commande avec le array, mais dans les exemples que j'ai vue, les array sont déjà définis alors que là c'est une variable.
Merci.
(pour le blabla ce n'était qu'un test pour voir ce qui n'allait pas)
Merci.
(pour le blabla ce n'était qu'un test pour voir ce qui n'allait pas)
dolmenhir
Messages postés
246
Date d'inscription
mercredi 4 mars 2009
Statut
Membre
Dernière intervention
13 mars 2009
25
7 mars 2009 à 21:49
7 mars 2009 à 21:49
Bon, j'ai peut-être une solution :
http://www.dolmenhir.com/webmastering/sort-dir.php
http://www.dolmenhir.com/webmastering/sort-dir.php
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Ph[]b[]s
Messages postés
23
Date d'inscription
vendredi 25 janvier 2008
Statut
Membre
Dernière intervention
31 mars 2009
1
7 mars 2009 à 23:10
7 mars 2009 à 23:10
Je vais essayer de mettre les deux php ensemble sachant que les 2 font une fonction. Merci :)
Ph[]b[]s
Messages postés
23
Date d'inscription
vendredi 25 janvier 2008
Statut
Membre
Dernière intervention
31 mars 2009
1
8 mars 2009 à 10:33
8 mars 2009 à 10:33
FInalement je n'y arrive pas...
dolmenhir
Messages postés
246
Date d'inscription
mercredi 4 mars 2009
Statut
Membre
Dernière intervention
13 mars 2009
25
8 mars 2009 à 12:27
8 mars 2009 à 12:27
essayes en cherchant du côté de la commande scandir()
https://www.php.net/manual/fr/function.scandir.php
https://www.php.net/manual/fr/function.scandir.php
Ph[]b[]s
Messages postés
23
Date d'inscription
vendredi 25 janvier 2008
Statut
Membre
Dernière intervention
31 mars 2009
1
9 mars 2009 à 16:47
9 mars 2009 à 16:47
J'ai trouvé la base :
<?
echo ("<h1>Directory Overzicht:</h1>");
function getFiles($path) {
//Function takes a path, and returns a numerically indexed array of associative arrays containing file information,
//sorted by the file name (case insensitive). If two files are identical when compared without case, they will sort
//relative to each other in the order presented by readdir()
$files = array();
$fileNames = array();
$i = 0;
if (is_dir($path)) {
if ($dh = opendir($path)) {
while (($file = readdir($dh)) !== false) {
if ($file == "." || $file == "..") continue;
$fullpath = $path . "/" . $file;
$fkey = strtolower($file);
while (array_key_exists($fkey,$fileNames)) $fkey .= " ";
$a = stat($fullpath);
$files[$fkey]['size'] = $a['size'];
if ($a['size'] == 0) $files[$fkey]['sizetext'] = "-";
else if ($a['size'] > 1024) $files[$fkey]['sizetext'] = (ceil($a['size']/1024*100)/100) . " K";
else if ($a['size'] > 1024*1024) $files[$fkey]['sizetext'] = (ceil($a['size']/(1024*1024)*100)/100) . " Mb";
else $files[$fkey]['sizetext'] = $a['size'] . " bytes";
$files[$fkey]['name'] = $file;
$files[$fkey]['type'] = filetype($fullpath);
$fileNames[$i++] = $fkey;
}
closedir($dh);
} else die ("Cannot open directory: $path");
} else die ("Path is not a directory: $path");
sort($fileNames,SORT_STRING);
$sortedFiles = array();
$i = 0;
foreach($fileNames as $f) $sortedFiles[$i++] = $files[$f];
return $sortedFiles;
}
$files = getFiles("./");
foreach ($files as $file) print " <b><a href=\"$file[name]\">$file[name]</a></b><br>\n";
?>
Je me servirai de cette exemple pour faire ce que je veux, merci
<?
echo ("<h1>Directory Overzicht:</h1>");
function getFiles($path) {
//Function takes a path, and returns a numerically indexed array of associative arrays containing file information,
//sorted by the file name (case insensitive). If two files are identical when compared without case, they will sort
//relative to each other in the order presented by readdir()
$files = array();
$fileNames = array();
$i = 0;
if (is_dir($path)) {
if ($dh = opendir($path)) {
while (($file = readdir($dh)) !== false) {
if ($file == "." || $file == "..") continue;
$fullpath = $path . "/" . $file;
$fkey = strtolower($file);
while (array_key_exists($fkey,$fileNames)) $fkey .= " ";
$a = stat($fullpath);
$files[$fkey]['size'] = $a['size'];
if ($a['size'] == 0) $files[$fkey]['sizetext'] = "-";
else if ($a['size'] > 1024) $files[$fkey]['sizetext'] = (ceil($a['size']/1024*100)/100) . " K";
else if ($a['size'] > 1024*1024) $files[$fkey]['sizetext'] = (ceil($a['size']/(1024*1024)*100)/100) . " Mb";
else $files[$fkey]['sizetext'] = $a['size'] . " bytes";
$files[$fkey]['name'] = $file;
$files[$fkey]['type'] = filetype($fullpath);
$fileNames[$i++] = $fkey;
}
closedir($dh);
} else die ("Cannot open directory: $path");
} else die ("Path is not a directory: $path");
sort($fileNames,SORT_STRING);
$sortedFiles = array();
$i = 0;
foreach($fileNames as $f) $sortedFiles[$i++] = $files[$f];
return $sortedFiles;
}
$files = getFiles("./");
foreach ($files as $file) print " <b><a href=\"$file[name]\">$file[name]</a></b><br>\n";
?>
Je me servirai de cette exemple pour faire ce que je veux, merci
Ph[]b[]s
Messages postés
23
Date d'inscription
vendredi 25 janvier 2008
Statut
Membre
Dernière intervention
31 mars 2009
1
9 mars 2009 à 17:06
9 mars 2009 à 17:06
Après recherche j'ai modifié la 1ere version en remplacant :
while ($f = readdir($dir)) {
if(is_file($rep.$f)) {
echo '<tr>'
.'<td><a href="' .$f . '">' .$f . '</a></td>'
.'<td> '.filesize($rep.$f).' octets </td>'
.'<td> '.dd(filectime($rep.$f)).'</td>'
.'</tr>';
}
foreach (glob("*.dem") as $f) {
echo '<tr>' .'<td><a href="' .$f . '">' .$f . '</a></td>'
.'<td> '.filesize($rep.$f).' octets </td>'
.'<td> '.dd(filectime($rep.$f)).'</td>'
.'</tr>';
}
Mais j'ai encore quelque chose qui me manque, la il me tri automatiquement dans l'ordre croissant mais j'aimerai dans l'ordre décroissant.
Merci
while ($f = readdir($dir)) {
if(is_file($rep.$f)) {
echo '<tr>'
.'<td><a href="' .$f . '">' .$f . '</a></td>'
.'<td> '.filesize($rep.$f).' octets </td>'
.'<td> '.dd(filectime($rep.$f)).'</td>'
.'</tr>';
}
foreach (glob("*.dem") as $f) {
echo '<tr>' .'<td><a href="' .$f . '">' .$f . '</a></td>'
.'<td> '.filesize($rep.$f).' octets </td>'
.'<td> '.dd(filectime($rep.$f)).'</td>'
.'</tr>';
}
Mais j'ai encore quelque chose qui me manque, la il me tri automatiquement dans l'ordre croissant mais j'aimerai dans l'ordre décroissant.
Merci
dolmenhir
Messages postés
246
Date d'inscription
mercredi 4 mars 2009
Statut
Membre
Dernière intervention
13 mars 2009
25
9 mars 2009 à 17:46
9 mars 2009 à 17:46
tu as array_reverse qui inverse l'ordre des éléments d'un tableau
https://www.php.net/function.array-reverse
https://www.php.net/function.array-reverse
Ph[]b[]s
Messages postés
23
Date d'inscription
vendredi 25 janvier 2008
Statut
Membre
Dernière intervention
31 mars 2009
1
9 mars 2009 à 19:08
9 mars 2009 à 19:08
Peux tu m'aider à le mettre correctement?