Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2011
    Messaggi
    5

    Elenco link di file in cartella, ordine alfabetico

    Ciao a tutti, io uso questo script per visualizzare in una pagina un elenco di link a file presenti in una cartella sul server. Lo script funziona, ed è molto comodo, ma i link vengono "printati" a casaccio e io vorrei che me li visualizzasse in ordine alfabetico. Qualcuno può aiutarmi? Grazie mille mille..!

    >>

    <?php

    function DirDisply($data) {

    $TrackDir=opendir("./cartella_prova");

    while ($file = readdir($TrackDir)) {

    if ($file == "." || $file == "..") { }
    else {
    print "<tr><td><font face=\"Verdana, Arial, Helvetica, sans-serif\">$file</font> </td>";
    print "<td> ".filetype($file)."</td></tr>
    ";

    }

    }
    closedir($TrackDir);

    return $data;
    }

    ?>

    <?
    @ DirDisply($data);
    ?>

  2. #2
    Alcuni consigli:
    • usa glob() per ottenere un array con in nomi dei file
    • usa sort() per ordinare quell'array
    • stampa l'array ordinato
    • usa i CSS invece dei tag <font> che sono deprecati da piu' di 10 anni

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2011
    Messaggi
    5
    Grazie mille della pronta risposta k.b

    Il problema è che io non ci so molto fare con gli scritps, ho anche già provato con sort() qua è la, ma avrei proprio bisogno di qualcuno che gentilmente mi dicesse cosa e dove scriverlo, facendo riferimento al codice che ho postato.

    Grazie ancora..!

  4. #4
    Usa questo:

    Codice PHP:
    <?php

    $cartella 
    opendir('./cartella_prova');
    while (
    $file readdir($cartella)) {
    $file_array[] = $file;
    sort($file_array);
    }
    foreach (
    $file_array as $file) {
    if ( 
    $file == ".." || $file == ".") {
    continue;
    }
    echo 
    "<TR><TD><CENTER>";
    echo 
    "<a href=\"cartella_prova/$file\">$file</a>";
    echo 
    "</CENTER></TD></TR>";
    }
    ?>
    Ci ho aggiunto il sort per metterlo in ordine alfabetico.
    Social Network in costruzione.. Misto tra Twitter e Facebook.. Twitbook o facetter?

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2011
    Messaggi
    5
    Grazie mille, sei un grande..!

  6. #6
    Utente di HTML.it L'avatar di lnessuno
    Registrato dal
    Feb 2002
    Messaggi
    2,732
    Codice PHP:
    <?php
    $files 
    glob('cartella_prova/*');
    echo 
    "<ul>";
    foreach (
    $files as $file) {
       
    $nomefile str_replace("cartella_prova/"""$file);
       echo 
    "[*][url='{$file}']{$nomefile}[/url]";
    }
    echo 
    "[/list]";
    ?>
    Mi pare che glob ordini automaticamente l'array in base al nome...

  7. #7
    Originariamente inviato da lnessuno
    Mi pare che glob ordini automaticamente l'array in base al nome...
    Hai ragione, usando glob non e' necessario il sort.

  8. #8
    Utente di HTML.it
    Registrato dal
    Jun 2011
    Messaggi
    5
    Già...

    Ho un problema però,
    solo con internet explorer mi va a capo fra un link e l'altro (quando visualizza l'elenco dei link ai file).
    Con Safari e Chrome, su Mac, me li mette uno attaccato all'altro sulla stessa riga.

    Come posso fare?

    P.S.
    Ripeto che sono piuttosto alle "prime" armi col codice.

    Grazie mille a tutti

  9. #9
    Prova così:

    Codice PHP:
     <?php

    $cartella 
    opendir('./cartella_prova');
    while (
    $file readdir($cartella)) {
    $file_array[] = $file;
    sort($file_array);
    }
    foreach (
    $file_array as $file) {
    if ( 
    $file == ".." || $file == ".") {
    continue;
    }
    echo 
    "<center>";
    echo 
    "<a href=\"cartella_prova/$file\">$file</a>
    "
    ;
    echo 
    "</center>";
    }
    ?>
    Social Network in costruzione.. Misto tra Twitter e Facebook.. Twitbook o facetter?

  10. #10
    Utente di HTML.it
    Registrato dal
    Jun 2011
    Messaggi
    5
    Così è perfetto, funziona (va a capo fra un link e l'altro) con tutti i browsers e "tutti" i sistemi operativi..!

    Grazie mille..!

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 © 2025 vBulletin Solutions, Inc. All rights reserved.