Bonjour à tous
Voici mon problème : Je créé un forum en php, sans base de données, qui manipule des fichiers texte. Sur ma page d'accueil, la liste des posts s'affiche comme dans tous forums :
Pour un exemple simple, sur mon serveur j'ai 4 fichiers nommés "1.txt", "2.txt", "3.txt" et "4.txt" dans un dossier "sujets".
Voici le code qu'il y a dans chaque fichier txt :
Code : Tout sélectionner
<table id='tablesujet'>
<tr>
<td class='tdsujet'><a href='sujet.php'> test</a><br>
<td class='tdnbrep'>Rep : 0</td>
<td class='tdrep'>Aucune réponse</td>
</tr>
</table>
Avec ce code, mes 4 fichiers s'affichent dans l'ordre = "1.txt", "2.txt", "3.txt" et "4.txt" ( de bas en haut ) :
Code : Tout sélectionner
<html>
<body>
<table width="900" cellpadding="0" cellspacing="0">
<?php
$page = 1;
$dir2 = opendir("sujets/");
$tableau = array();
$i=0;
while ($File = readdir($dir2)){
if($File != "." && $File != ".." && $File != "") {
$tableau[] = "sujets/$File";
}
$i++;
}
closedir($dir2);
rsort($tableau);
$nbsujet = 30;
$Max = count($tableau);
$pagemin = $page*$nbsujet-$nbsujet;
$nbpage = $Max/$nbsujet;
$nbpage = ceil($nbpage);
if ($page == $nbpage) {$pagemax = $Max;}
else {$pagemax = $page*$nbsujet;}
if ($Max != 0){
for($i = $pagemin; $i != $pagemax; $i++){
include "$tableau[$i]";
}
}
?>
</table>
</body>
</html>
Or mon problème est le suivant : Si je modifie par exemple le fichier "3.txt", je voudrais qu'il remonte en tête de liste sans changer de nom.
J'ai essayé ceci, ça fonctionne :
Code : Tout sélectionner
$files = glob( 'sujets/*.txt' );
array_multisort( array_map( 'filemtime', $files ), SORT_NUMERIC, SORT_DESC, $files);
print_r( $files );
...mais je n'arrive qu'à avoir ce style de phrase dans ma page d'accueil :
Array ( [0] => sujets/sujet3.txt [1] => sujets/sujet1.txt [2] => sujets/sujet2.txt [3] => sujets/sujet4.txt )
et non des tableaux comme la première version qui ne trie pas par date de modification
Je galère à intégrer le code pour trier les fichiers au script qui est en début de ce message, si quelqu'un pouvait m'éclairer ou me conseiller, ceci m'aiderait grandement dans l'avancement de ce forum.
Je continue à effectuer des recherches dans le code pour trouver cette fichue solution !
Merci à vous ne serait-ce que d'avoir lu ce post.