• User Newbie

    [PHP] Script elenco file

    Ciao a tutti, sono Davide (un nuovo utente)...
    Vi posto il mio problema:
    Ho usato come base uno script, ma esso mi da problemi:

    sim.altervista.org/file/dw/dirindex.php
    Ora questo non funziona come deve:

    • La dimensione non è corretta!
    • Vorrei togliere i ".." e il "."
    • Non viene mostrato il Tipo del File/Cartella
      ...ecco il codice:
      [php]<?

    configuration

    $show_path = 1; # show local path
    $show_dotdirs = 1; # show and '..'

    $path = substr($SCRIPT_FILENAME, 0, strrpos($SCRIPT_FILENAME, "/")+1);
    ?>
    <html>
    <head>
    <title>directory listing</title>
    <style type="text/css">
    <!--
    a, a:active {text-decoration: none; color: blue;}
    a:visited {color: #48468F;}
    a:hover, a:focus {text-decoration: underline; color: red;}
    body {background-color: #F5F5F5;}
    h2 {margin-bottom: 12px;}
    table {margin-left: 12px;}
    th, td { font-family: "Courier New", Courier, monospace; font-size: 10pt; text-align: left;}
    th { font-weight: bold; padding-right: 14px; padding-bottom: 3px;}
    td {padding-right: 14px;}
    td.s, th.s {text-align: right;}
    div.list { background-color: white; border-top: 1px solid #646464; border-bottom: 1px solid; padding-top: 10px; padding-bottom: 14px;}
    div.foot { font-family: "Courier New", Courier, monospace; font-size: 10pt; color: #787878; padding-top: 4px;}
    /*body, th, td { background-color: #ffffff;
    font-family: verdana, arial;
    }

    a:link       { color: #666666;
                   text-decoration: underline;
                 }
    a:visited    { color: #444444;
                   text-decoration: underline;
                 }
    a:hover      { color:;
                   text-decoration: none;
                 }
    a:active     { color: #660000;
                   text-decoration: none;
                 }
    
    table.files  { background-color: #222222;
                   border: 2px solid #cccccc;
                   border-spacing: 1px;
                   width: 480px;
                 }
    th.files     { background-color: #4466aa;
                   color:;
                   font-size: 11pt;
                   font-weight: bold;
                   text-align: left;
                   padding: 2px;
                 }
    td.files     { background-color: #eeeeee;
                   color:;
                   font-size: 9pt;
                   font-weight: normal;
                   padding: 6px;
                 }*/
    

    -->
    </style>
    </head>
    <body>
    <h2><?php if ($show_path == 1) { echo "Posizione: "; echo $path; } else { echo "Contenuto della Directory..."; } ?></h2>
    <div class="list">
    <table summary="Directory Listing" cellpadding="0" cellspacing="0">
    <thead><tr><th class="n">Nome</th><th class="m">Ultima Modifica</th><th class="s">
    Peso</th><th class="t">Tipo</th></tr></thead>

    <tbody>
    <tr><td class="n"><a href="../">Cartella Precedente</a>/</td><td class="m"> </td><td class="s">-  </td><td class="t">
    Cartella</td></tr>
    <tr><td class="n"><?php
    $dirs = array();
    $files = array();

    $dir = dir($path);
    while ($entry = $dir->read()) {
    if (/$entry != "." &&/ substr($entry, -4) != ".php") {
    if (is_dir($entry)) {
    if ($entry != ".." || $show_dotdirs){
    $dirs[] = $entry;
    }
    } else {
    $files[] = $entry;
    }
    }
    }
    $dir->close();

    sort($dirs);
    foreach ($dirs as $dir) {
    echo '<a href="' . $dir . '">' . $dir . "</a><br />\n";
    }

    sort($files);
    foreach ($files as $file) {
    echo '<a href="' . $file . '">' . $file . "<br />\n";
    }
    ?></td><td class="m"><?php
    // il file da verificare.
    $modifica = $file;
    // variabile che prende l’informazione.
    $last_time_modified = filemtime($modifica);
    // formatta la data
    $last_mod = /"Ultima modifica " ./ date("m/j/Y h:i", $last_time_modified);
    print $last_mod;
    ?></td><td class="s"><?php
    function filesize_format($file) {
    if($file < pow(1024, 1)) return $file. "B";
    elseif($file < pow(1024, 2)) return round($file/pow(1024, 1), 3)."Kb";
    elseif($file < pow(1024, 3)) return round($file/pow(1024, 2), 3)."Mb";
    elseif($file < pow(1024, 4)) return round($file/pow(1024, 3), 3)."Gb";
    }
    echo filesize_format($file);
    /$strimmagine = file_get_contents($file);
    $dimensione = strlen($strimmagine);
    echo ("$dimensione");
    /
    ?></td><td class="t"><?php
    echo filetype($file); // file
    ?></td></tr>
    </tbody>
    </table>
    </div>
    <div class="foot"></div>
    </body>
    </html>
    [/php]In pratica dovrebbe essere così:

    /php
    [php] -----------------------------------------------------------------------------------
    Nome Ultima Modifica Peso Tipo
    Nome Cartella 20/04/1965 20:30 120Mb Cartella
    -----------------------------------------------------------------------------------
    Nome File 21/03/2008 04:30 12Kb image/png
    -----------------------------------------------------------------------------------

    Grazie.Ciao Davide! :smile5:

    PS: Scusatemi se ho sbagliato funzione, ma non ho ancora capito bene come vada il Forum! 😊


  • User Newbie

    ..nessuno? 🙂


  • User Newbie

    nessuno?...