Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    [PHP] Ordinare le news per data di modfica

    Ciao.
    Sto creando un sistema di news per un sito. Questo sistema si basa su dei file txt...
    Nella root del sito c'è una cartella news, nella quale ci vanno dei file txt conteneti le news..
    Il nome del file è il titolo mentre il contenuto il contenuto della news. Ad esempio:
    News con titolo "ciao" e con contenuto "saluto tutti":
    Nome file: ciao.txt
    Contenuto: saluto tutti

    Bene. Ho creato questo codcie che vine incluso nella home.
    Il mio problema è questo: devo ordinare le news per data di modifica. Come posso fare?
    Questo è il codcie della parte che mostra le news:

    Codice PHP:
    $news=array();
    $h=opendir("news");
    while(
    false !==($f=readdir($h))) {
        if(
    $f != "." && $f != "..") {
            
    $c=file_get_contents("news/".$f);
            
    $f=str_replace(".txt","",$f);
            
    $news[$f]=$c;
        }
    }
    closedir($h);
    foreach(
    $news as $k=>$c) {
        
    //echo per mostrare la news... come titolo uso $k e come contenuto $c

    Ciao!!!

  2. #2
    Se vuoi utilizzare il sistema coi file di testo puoi aggiungere la data nella prima riga del testo.

    Ad esempio puoi avere una cosa del genere nel tuo file news.txt

    ----------------
    1233231
    prima riga
    seconda riga
    ...
    ultimariga
    ----------------

    La prima riga (1233231) è il timestamp di quando il file è stato creato.
    Puoi utilizzare quel dato per ordinare le news.

    Personalmente però farei tutto questo con un db mysql...

  3. #3
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    usa le funzioni file*time. cerca sul manuale.

  4. #4
    lo so mi servirebbe filemtime().... ma poi, avuta la data di modfica, come li ordino?
    Oppure la data di creazione sulla prima riga.... ma anche lì... come ordino?

  5. #5
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Guarda sempre sul manuale le funzioni sort e affini. Magari trovi pure qualcosa di già pronto.

  6. #6
    ho risolto in un modo parecchio efficace: un indice...
    In pratica ho newslist.txt che fa da indice e contine tutti i titoli in ordine (quando inserisco una news quella che inserisco viene messa come prima)! quindi mi costruisco l'array IN ORDNE con quello....
    il suo formato è così:

    codice:
    titolo news 1
    titolo news 2
    Quindi ho modficato il file per vedere le news così:

    Codice PHP:
    $news=array();
    $list=file_get_contents("newslist.txt");
    $list=explode("\n",$list);
    foreach(
    $list as $tit) {
        
    $c=file_get_contents("news/".$tit.".txt");
        
    $news[$tit]=$c;
    }
    foreach(
    $news as $k=>$c) {
        
    //echo per mostrare la news

    che ne dite? secondo voi è una buona soluzione? Se si.... forse rilascio un CMS visto che devo fare un intero sito.....

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.