Visualizzazione risultati 1 fino 7 di 7

Discussione: nascondere estensioni [era:save a tutti]

  1. #1
    Guest

    Wink nascondere estensioni [era:save a tutti]

    ho creato questo script per visualizare i file contenuti nella cartella, ma la cosa che non riesco a fare a per visualizzare il contenuto della cartella senza mostrare le estensioni file, in pratica dentro questa carttella ci sono file tipo index.htm, mi piacerebbe che fosse mostrato solo index senza far vedere estenzione all utente che apre la pagina, ecco il mio script :
    Codice PHP:
    <?php

    $cartella
    = '../documents';

    if(!
    is_dir($cartella))
    {
    exit(
    'La cartella indicata non esiste!');
    }

    $array_file = scandir($cartella) or die ('Impossible leggere la cartella!');

    foreach (
    $array_file as $key => $value)
    {
    echo
    $value."<br />";
    }
    ?>

  2. #2
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Predefinito

    potresti utilizzare le funzioni strpos() per la posizione del "."(punto) e substr() per ritornare la parte della stringa definita dalla posizione del punto

    http://php.net/manual/en/function.strpos.php
    http://www.php.net/manual/en/function.substr.php
    LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
    Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org

    VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
    FAI IL TEST CON L'ANALISI VINCITE

  3. #3
    Guest

    Predefinito

    grazie !! cmq Euro Salute mi faresti un esempio di come posso usare il comando strpos() in modo che non faccia visualizare estenzioni dei file contenuti nella cartella, ti prego non sono molto esperto di php..pls
    Ultima modifica di webskey : 29-01-2012 alle ore 17.03.16

  4. #4
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,761

    Predefinito

    Nel link di eurosalute ci sono molti esempi sull'utilizzo della strpos().

    Comunque, penso sia meglio usare la strrpos(), per evitare problemi nell'eventualità che nel nome del file ci fosse qualche punto.

    Quindi:
    Codice PHP:
    echo substr($value, 0, strrpos($value, '.')).'<br>';

    Se però il nome non ha estensione, deve prendere tutta la stringa (il nome del file), quindi una soluzione può essere:
    Codice PHP:
    echo substr($value, 0, (strrpos($value, '.') === FALSE)?strlen($value):strrpos($value, '.')).'<br>';
    (non l'ho provato, ma dovrebbe andare).

    Ciao!
    Ultima modifica di alemoppo : 29-01-2012 alle ore 17.16.29

  5. #5
    Guest

    Predefinito

    alemoppo sei sempre il migliore funziona alla grande grazie :-)
    Codice PHP:
    <?php

    $cartella
    = '../documents';

    if(!
    is_dir($cartella))
    {
    exit(
    'La cartella indicata non esiste!');
    }

    $array_file = scandir($cartella) or die ('Impossible leggere la cartella!');

    foreach (
    $array_file as $key => $value)
    {
    echo
    substr($value, 0, strrpos($value, '.')).'<br>';
    }
    ?>
    cmq siccome i file vengono visualizati uno sotto altro, mica sarebbe possibile, far visualizare tutti i file dentro un area che consente di far comparire una barra esplorazione tipo quella dei browser destra, per far scorrere le pagine web, nel mio caso per far scorrere i file che sono nella cartella..
    Ultima modifica di alemoppo : 29-01-2012 alle ore 17.59.37 Motivo: +tag [php]

  6. #6
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,761

    Predefinito

    Dovresti mettere il contenuto ad esempio dentro una textarea, o comunque dentro un elemento html che permetta di "scorrere":

    (esempio con textarea)
    Codice PHP:
    <?php

    $cartella
    = '../documents';

    if(!
    is_dir($cartella))
    {
    exit(
    'La cartella indicata non esiste!');
    }

    $array_file = scandir($cartella) or die ('Impossible leggere la cartella!');
    echo
    '<textarea style="width:200px; height:100px">';
    foreach (
    $array_file as $key => $value)
    {
    echo
    substr($value, 0, strrpos($value, '.'))."\n";
    }
    echo
    '</textarea>';
    ?>
    ...ovviamente, il tutto va personalizzato

    Ciao!

  7. #7
    Guest

    Predefinito

    funziona che e una meraviglia grazie, infinitamente alemoppo!! :-)

Tags for this Thread

Regole di scrittura

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