Visualizzazione risultati 1 fino 2 di 2

Discussione: [PHP] Script elenco file

  1. #1
    Guest

    Post [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:
    http://sim.altervista.org/file/dw/dirindex.php
    Ora questo non funziona come deve:
    - La dimensione non è corretta!
    - Non viene mostrato il Tipo del File/Cartella
    - La data (credo sia errata!)
    ...ecco il codice:
    Codice PHP:
    <?
    # configuration
    $show_path = 1; # show local path
    $show_dotdirs = 0; # show and '..'

    $path = substr($SCRIPT_FILENAME, 0, strrpos($SCRIPT_FILENAME, "/")+1);
    ?>
    <html>
    <head>
    <title>@@@SIMUPLOADER@@@</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 #646464; 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: #666666;
    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: #ffffff;
    font-size: 11pt;
    font-weight: bold;
    text-align: left;
    padding: 2px;
    }
    td.files { background-color: #eeeeee;
    color: #666666;
    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">- &nbsp;</td><td class="s">- &nbsp;</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>
    In pratica dovrebbe essere così:
    Codice 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! :)

  2. #2
    L'avatar di seneca
    seneca non è connesso Super Moderatore
    Data registrazione
    18-12-2004
    Residenza
    la Città Eterna
    Messaggi
    8,376

    Predefinito

    Citazione Originalmente inviato da sIM Visualizza messaggio
    ricevo errore 404!


    -- Aut Roma Aut Nihil!

Regole di scrittura

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