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

    Ordinamento file automatico

    Salve a tutti,
    ho uno script che legge file con estensione "gif" dentro una cartella, in questo caso articoli, poi mi printa come risultato il nome immagine privo d'estensione linkabile.
    Con il ciclo while ho praticamente tutta la lista delle immagini.gif presenti nella directory.
    Tutte le immagini presenti iniziano con la data, ad esempio, 2007.09.10_nomefile.gif; per avere un ordine.
    Il risultato restituito dallo script è l'elenco di tutte le immagini presenti nella directory, il problema è che naturalmente non le ordina, ed io invece vorrei un ordine in base alla data, e quindi numerico.
    Come potrei implementare questa funzione?

    Codice PHP:
    <?
    #-- setting --#
    $title"Articoli scritti per noi";
    $folderarticoli;

    #-- end --#
    echo"<div align='center'>[b]$title[/b]</div>";
    $handle=opendir($folder); 
    while (
    false !== ($file readdir($handle)))     

    if (
    eregi(".gif$"$file)) 
    {
    $filename eregi_replace(".gif"''$file);
    echo
    "";
    echo
    "<table><tr><td><img src=\"$folderthumb/$filethumb\" width='20' height='20' /><a href=\"$folder/$file\" class='nav' target='_blank'>$filename</a>
    </td></tr></table>"


    }
    closedir($handle); 
    ?>
    Grazie anticipatamente

  2. #2
    l'unico modo secondo me e di salvarle su un db e poi ordini i risultati tramite query
    3/6/2003 è morto l'angelo della mia vita..
    www.markwebinformatica.net
    My BLOG

  3. #3
    Ciao,
    io ordino le cartelle con la sort() passandogli un array dei nomi delle cartelle:

    sort($arrDir);

    Ciao
    Mirko Agrati
    WEB : http://mirkoagrati.110mb.com
    RSS : http://feeds.feedburner.com/MirkoAgratiArticoli

  4. #4
    La funzione sort() funziona per gli array, con le varibili no. Ho provato a trasformare la variabile interessata in array, ma c'é qualcosa che non và,sicuramente sbaglio qualcosa. Cosa? :master:

    Codice PHP:
    <?
    #-- setting --#
    $title"Articoli scritti per noi";
    $subtitles"Dal 1968 al 2001 Campo di volo a Turi";
    $folderarticoli;
    $folder_thumb'articoli/thumb';
    #-- end --#

    echo"<div align='center'>[b]$title[/b]</div>";
    echo 
    "[b]";
    echo
    "<div align='left'>[b]$subtitles[/b]</div>";
    $handle=opendir($folder); 

    while (
    false !== ($file readdir($handle)))
    //$filen = array('si' => $file);           <<<<<<<<<<<<<<<<| DA VARIABILE AD ARRAY
    //sort($filen[si],SORT_NUMERIC);     <<<<<<<<<<<<<<<<| ORDINO CON SORT()

    if (
    eregi(".gif$"$file))                  //<<<<<<<<<<<<<<<<| $file lo cambio in $filen
    {

    $filename eregi_replace(".gif"''$file); //<<<<<<<<<<<|  $file lo cambio in $filen

    // ANCHE SOTTO $file lo cambio in $filen DOPO $folder/

    echo"";
    echo
    "<table><tr><td><img src=\"$folder_thumb/$file\"/><a href=\"$folder/$file\" class='nav_article' target='_blank'>$filename</a>
    </td></tr></table>
    "


    }
    closedir($handle); 
    ?>
    Così facendo nada, continua a restituirmi errori.

  5. #5
    io l'array lo ricavo con la glob() passandogli la cartella.

    Ciao
    Mirko Agrati
    WEB : http://mirkoagrati.110mb.com
    RSS : http://feeds.feedburner.com/MirkoAgratiArticoli

  6. #6
    Mi potresti fare un esempio pratico?
    Cioé invece di:
    Codice PHP:
    $filen = array('si' => $file); 
    dovrei usare
    Codice PHP:
    glob($file); 
    Quindi ora $file diventa variabile e
    Codice PHP:
    sort($filesort_numeric); 
    ottengo l'ordine per numero.

  7. #7
    ma il glob() non farebbe la stessa operazione di opendir()? Cioé di listare il contenuto di una cartella?
    Cioé mi stai dicendo che con opendir() è una variablile usando glob() la trasforma in array?

  8. #8
    $topdir = "img";
    echo '
    Navigo la Directory: ' . $topdir . '
    ';

    //Array con il path completo delle cartelle
    $arrDir = glob($topdir.'*');
    sort($arrDir);

    così ottengo i file ordinati all'interno di img

    Ciao
    Mirko Agrati
    WEB : http://mirkoagrati.110mb.com
    RSS : http://feeds.feedburner.com/MirkoAgratiArticoli

  9. #9
    Ti ringrazio, proverò in questo modo.

  10. #10

    MISSION ACCOMPLISHED!

    Sono riuscito nel mio intento, ora posto lo script per chi avesse la stessa esigenza.
    Codice PHP:
    <?php
    //setting
    $separator"/";
    $folderarticoli;
    $folder_thumbthumb;
    $name"*.gif";
    //inizio ciclo for
    foreach (glob("$folder"."$separator"."$name") as $file) {

    //creo variabile $filename
    //sostituisco $folder  con niente in $file per ottenere solo il nome dell'immagine senza directory
        
    $filenamestr_replace($folder,"",$file);

    //modifico variabile $filename
    //sostituisco $separator con niente in $filename per ottenere il nome immagine senza lo / 
        
    $filenamestr_replace($separator,"",$filename);

    //creo variabile $noextension
    //sostituisco $name con niente in $filename per ottenere il nome senza estensione .gif
        
    $noextensionstr_replace($name,"",$filename);

    //printo i risultati per la lista immagini con anteprima
        
    echo"<table><tr><td><img src=\"$folder/$folder_thumb/$filename\"/><a href=\"$file\" class='nav_article' target='_blank'>$noextension</a>
    </td></tr></table>
    "
    ;
    }
    ?>
    Ancora grazie a mirkoagrati, se non mi avessi illuminato con il glob()...

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.