Visualizzazione risultati 1 fino 9 di 9

Discussione: Lettura directory per data creazione file

  1. #1
    L'avatar di sevenjeak
    sevenjeak non è connesso AlterGuru
    Data registrazione
    25-10-2007
    Residenza
    Roma
    Messaggi
    1,769

    Predefinito Lettura directory per data creazione file

    Salve utenti di AV.

    Ho creato questo piccolo scrpt che legge all'interno di una directory:
    Codice PHP:
    $open = opendir(".");
    echo
    "<hr />";
    $count = 0;
    while (
    $read = readdir($open))
    {
    $info_file = pathinfo($read);
    if (
    $info_file["extension"] == "html") {
    $c_read = $read;
    $c_read = str_replace(".html", "", $c_read);
    echo
    "<div class='element'><a href='Article/programmazione/".$read."' target='_blank'>".$c_read."</a></div>";
    $count++;
    }
    }
    if (
    $count == 0) {
    echo
    "<div class='element'><em>nessun elemento presente</em></div>";
    }
    closedir($open);
    Dopo essere riuscito a farmi leggere solo i file con estenzione html vorrei sapere come posso far si che i file letti mi vengono stampati a video per ordine di creazione dei file, cioè, il file creato più recendemente mi va sotto a tutti.

    come posso fare?

    Sevenjeak
    Software developer and much more

  2. #2
    Guest

  3. #3
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    perche' continuano ad esserci in giro guide con quell'oscenita' che e' opendir, invece di glob ?

    Meta' di quello script puo' essere sostituito con:
    Codice PHP:
    $elenco = glob('*.html');

  4. #4
    Guest

    Predefinito

    Citazione Originalmente inviato da dreadnaut Visualizza messaggio
    perche' continuano ad esserci in giro guide con quell'oscenita' che e' opendir, invece di glob ?

    Meta' di quello script puo' essere sostituito con:
    Codice PHP:
    $elenco = glob('*.html');
    Perchè dal 2005 ad oggi l'umanità è evoluta!


    ciao!

  5. #5
    L'avatar di sevenjeak
    sevenjeak non è connesso AlterGuru
    Data registrazione
    25-10-2007
    Residenza
    Roma
    Messaggi
    1,769

    Predefinito

    biccheddu... sto provando a rifare lo script con quel codice che mi hai postato prima

    invece non ho capito come potrei farlo con la funzione glob()

    Sevenjeak
    Software developer and much more

  6. #6
    Data registrazione
    04-09-2009
    Messaggi
    183

    Predefinito

    Questo script fa esattamente la stessa cosa del tuo (in più li ordina alfabeticamente):

    Codice PHP:
    <?
    echo "<hr />";
    $files = glob("*.php");
    foreach(
    $files as $file){
    eregi("^(.+)\.php$", $file, $regs);
    echo
    "<div class='element'><a href='Article/programmazione/".$regs[0]."' target='_blank'>".$regs[1]."</a></div>";
    }
    if (
    count($file) == 0) {
    echo
    "<div class='element'><em>nessun elemento presente</em></div>";
    }
    ?>
    Note a margine:
    1. "eregi" fa sì che ti trovi file che hanno estensione sia ".php" sia ".PHP".
    2. "$regs[0]" può essere sostituito con "$file".
    Ultima modifica di ageofempiresgif : 12-10-2009 alle ore 19.53.35
    Age Of Empires GIF Creator & Archive
    New! Blog informatico di scripting PHP avanzato
    Vuoi giocare online a Age of Empires The Conquerors? -> Usa Voobly !! (MSN Zone non lo supporta più dal 19 giugno 2006)
    Il mio clan di The Conquerors -> Rifugio dei Conquerors
    Il mio stato su Xfire Live Video -> Unreal Tournament 2004
    Facebook MMORPG

  7. #7
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    oppure, eliminando la non essenziale espressione regolare
    Codice PHP:
    <?
    echo '<hr />';
    if (
    $files = glob('*.php') )
    foreach(
    $files as $file) {
    $nome = basename($file, '.php');
    echo
    "<div class=\"element\"><a href=\"Article/programmazione/{$file}\" target=\"_blank\">{$nome}</a></div>";
    }
    else
    echo
    '<div class="element"><em>nessun elemento presente</em></div>';
    ?>
    Ma non divaghiamo, l'ordinamento per data era correttamente mostrato nella prima guida che e' stata linkata.

  8. #8
    Guest

    Predefinito

    eregi() è una funzione deprecata in PHP 5.* e nella 6 sarà inutilizzabile. Usa strtolower() nell'estensione in modo da avere tutto minuscolo dove desideri.

  9. #9
    L'avatar di sevenjeak
    sevenjeak non è connesso AlterGuru
    Data registrazione
    25-10-2007
    Residenza
    Roma
    Messaggi
    1,769

    Predefinito

    Citazione Originalmente inviato da dreadnaut Visualizza messaggio
    l'ordinamento per data era correttamente mostrato nella prima guida che e' stata linkata.
    Non lo capito molto l'ordinamento fatto in quell'articolo, cmq ora lo rivedo e cerco di capirlo meglio

    Sevenjeak
    Software developer and much more

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •