• ModSenior

    Prova cosi:
    [php]
    <?php
    // Prendo dalla variabile get la cartella che voglio esplorare
    $c = (isset($_GET['c'])) ? $_GET['c'] : '';

    // Nome della cartella
    $car = 'cartella/'.$c.'/';

    function GetFile($car)
    {
    global $c;
    // Se non è un cartella esco
    if(!is_dir($car))
    return 0;

    // Opendir è la funzione per aprire la cartella
    $handle = opendir($car);

    // Ciclo la cartella
    while (false !== ($files = readdir($handle)))
    {
    // Stampo i file
    if ($files != '.' && $files != '..')
    {
    if(is_dir($car.$files))
    $vc[] = $files;
    else
    $vf[] = $files;
    }

    }
    // Se sono in una cartella mostro il pulsante per andare alla cartella principale
    if($c != '')
    echo '<a href="manager.php">Pagina Principale</a><br>';

    // Stampo le cartelle e i file
    echo 'Catelle:<br>';
    for($i=0; $i<count($vc); $i++)
        echo '<a href="manager.php?c='.$c.'/'.$vc*.'">'.$vc*.'</a><br>';
    echo 'File:<br>';
    for($i=0; $i<count($vf); $i++)
    

    if(substr($vf*, -3, 3) == 'txt')
    echo '<a href="'.$car.$vf*.'">'.substr($vf*,0,strlen($vf*)-4).'</a><br>';
    }

    // Richiamo La funzione
    GetFile($car);
    ?>
    [/php]


  • User

    Ti ringrazio davvero molto

    Funziona perfettamente

    Grazie Thedarkita davvero

    Sto cercando di imparare il php

    Ma non essendo il mio primo lavoro...

    Non ho tantissimo tempo..

    Ci sentiamo continuo i miei test

    Ciao grazie ancora


  • User

    Ciao Thedarkita

    Stavo stavo testando il codice, che va alla grande come ti dicevo,

    ma mi sono accorto che i file non sono in ordine alfabetico...

    Stavo scervellandomi per ordinarlo

    o in ordine alfabetico oppure per uultima modifica

    mi puoi dare un ultima mano?

    Se puoi ti ringrazio molto.

    Buona giornata.


  • User

    Prova così:

    [PHP] <?php
    // Prendo dalla variabile get la cartella che voglio esplorare
    $c = (isset($_GET['c'])) ? $_GET['c'] : '';

    // Nome della cartella
    $car = 'cartella/'.$c.'/';

    function GetFile($car)
    {
    global $c;
    // Se non è un cartella esco
    if(!is_dir($car))
    return 0;

    // Opendir è la funzione per aprire la cartella
    $handle = opendir($car);

    // Ciclo la cartella
    while (false !== ($files = readdir($handle)))
    {
    // Stampo i file
    if ($files != '.' && $files != '..')
    {
    if(is_dir($car.$files))
    $vc[] = $files;
    else
    $vf[] = $files;
    }

    }

    // imposto l'ordinamento alfabetico ai contenuti degli array
    sort($vc);
    sort($vf);

    // Se sono in una cartella mostro il pulsante per andare alla cartella principale
    if($c != '')
        echo '<a href="manager.php">Pagina Principale</a><br>';
        
    // Stampo le cartelle e i file
    echo 'Catelle:<br>';
    for($i=0; $i<count($vc); $i++)
        echo '<a href="manager.php?c='.$c.'/'.$vc*.'">'.$vc*.'</a><br>';
    echo 'File:<br>';
    for($i=0; $i<count($vf); $i++)
    

    if(substr($vf*, -3, 3) == 'txt')
    echo '<a href="'.$car.$vf*.'">'.substr($vf*,0,strlen($vf*)-4).'</a><br>';
    }

    // Richiamo La funzione
    GetFile($car);
    ?> [/PHP]

    In sostanza ho adoperato la funzione sort() per ordinare gli array che accumulano i nomi delle cartelle e dei files presenti nella directory specificata.

    :ciauz:


  • User

    Ciao grazie molte.

    Si va tutto ok tranne una cosa:

    alla fine quando ti trovi nell'ultima directory

    e c'è la lista dei file,

    spunta l'errore:

    Warning: sort() expects parameter 1 to be array, null given in

    perchè lui non trova più directory essendoci solo file...

    Sto cercando di rimediare

    Grazie comunque.


  • User

    Puoi ovviare un paio modi:

    1. Definisci i due array all'inizio della funzione ( es: $vc = array(); )
    2. Fai un bel controllo per entrambi del tipo: if (is_array($vc)) sort($vc);

    Prova e fammi sapere :ciauz:


  • User

    Grazie si adesso è davvero tutto ok.

    Scusami ma sto imparando il php di sana pianta,

    visto che tutti i miei siti li ho creati con buoni script per carità

    e vanno bene

    però ho l'esigenza di imparare il php il più possibile....

    Adesso ero curioso su come ordinarli

    per data di modifica o di upload...

    quindi stavo cercando di imparare il comando filemtime

    combinato con il sort

    Comunque grazie ancora ...


  • User

    Ciao scusate ma avrei bisogno di un ulteriore aiuto.

    È tutto il giorno che ci sbatto la testa ma

    non riesco ad ottenere un' altra funzione.

    Sto cercando di crearmi un un file.php che legga, come il precedente,

    i file in tutte le cartelle e sottocartelle
    ,
    ma che mi visualizzi gli ultimi 10 file uploadati da me,

    o comunque modificati da poco.

    Sto studiando i vari comandi sort e filemdate

    ma per ora pochi risultati...

    Se mi date ancora qualche dritta

    mi fate un grosso piacere.

    In questi anni ho fatto solo il grafico,

    ed è da poco che mi cimento con il php.

    Grazie ciao.

    (credo che la punteggiatura sia ok ora, chiedo scusa per il precedente messaggio)


  • User Newbie

    Ciao a tutti.
    Il sistema funziona perfettamente. L'unica cosa che non riesco a fare è realizzare un link alla cartella di livello superiore.
    Se, ad esempio, nella root ho cartella 1, al cui interno si trova cartella 2, ed entro in quest'ultima, come faccio a tornare a cartella 1? Il tutorial prevede un link per tornare alla pagina principale ma non per "uscire" dall'ultima cartella in cui si è entrati.
    Grazie.


  • User Attivo

    Ciao Thedarkita;

    Mi servirebbe un tuo aiuto a risolvere un grosso problema. So che il post è vecchio ma spero che mi risponderai ugualmente. Ho provato il tuo codice, di elenco cartelle e file. Solo che mi servono due modifich e sono le seguenti:

    1. Elencare directory tutte con tutre le estensioni;

    2. Elencare le sottocartelle con tutti i file all'interno delle cartellle e sottocartelle

    3. Debbo inserire il risultato della ricerca in un db.

    Mi puoi aiutare per favore ???? Sono disperato sono mesi che sto cercando inutilmente soluzioni a destra e a manca. Grazie in anticipo

    Il codice è il seguente:

    [PHP]

    <?php
    

    // Prendo dalla variabile get la cartella che voglio esplorare
    $c = (isset($_GET['c'])) ? $_GET['c'] : '';

    // Nome della cartella
    $car = 'c://'.$c.'/';

    function GetFile($car)
    {
    global $c;
    // Se non è un cartella esco
    if(!is_dir($car))
    return 0;

    // Opendir è la funzione per aprire la cartella
    $handle = opendir($car);

    // Ciclo la cartella
    while (false !== ($files = readdir($handle)))
    {
    // Stampo i file
    if ($files != '.' && $files != '..')
    {
    if(is_dir($car.$files))
    $vc[] = $files;
    else
    $vf[] = $files;
    }

    }
    // Se sono in una cartella mostro il pulsante per andare alla cartella principale
    if($c != '')
    echo '<a href="manager.php">Pagina Principale</a><br>';

    // Stampo le cartelle e i file
    echo 'Catelle:<br>';
    for($i=0; $i<count($vc); $i++)
        echo '<a href="manager.php?c='.$c.'/'.$vc*.'">'.$vc*.'</a><br>';
    echo 'File:<br>';
    for($i=0; $i<count($vf); $i++)
        echo $vf*.'<br>';
    

    }

    // Richiamo La funzione
    GetFile($car);
    ?>
    </body>
    </html>

    [/PHP]

    Ah, un ultima cosa. La sottoglineatura non mi servirebbe in quanto devo leggere i file all'interno di ogni cartella. Spero di essermi spiegato al meglio.