Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2006
    Messaggi
    15

    Lista File con filtro estensione

    Benchè pensassi fosse una domanda gia fatta da qualcuno, dopo diverse ricerche mi sono dovuto ricredere....

    Comunque il mio problema è questo:
    Devo creare una lista di file di una directory, fin qui nessun problema, esisto moltissimi script gia fatti per farlo.
    Girando per la rete ho scelto questo, semplice e comodo.

    Codice PHP:
    <?php

    #apriamo la cartella il punto indica che � la cartella dove ci troviamo
    $cartella opendir('.');

    #creiamo un ciclo che legga i contenuti e li metta nell'array
    while ($file readdir($cartella)) {
    $file_array[] = $file;
    }
    #facciamo un ciclo foreach per prendere gli elementi
    foreach ($file_array as $file) {

    #tutti tranne quelli che iniziano per "." o per ".."
    if ( $file == ".." || $file == "." || $file == "index.php" || $file == "css.css") {
    continue;
    }

    #ora viene il bello apro le marcature ti tabella e dentro esse mostro 

    #ogni elemento dell'array linkato al propio nome
    echo "<TR><TD class=\"headBG3\" colspan=\"2\"><img src=\"$file.PNG\"></TD><TD align=\"left\" width=\"95%\"class=\"headBG3\" colspan=\"2\">";
    echo 
    "<a href=\"$file\">$file</a>";

    #chidendo poi la riga
    echo "</TD></TR>";
    }
    ?>
    L'unico problema e' che non posso togliere dalla lista i file con una determinata estensione come per esempio immagini o simili senza specificare il nome esatto del file...e' possibile mettere quindi un filtro per non mostrare file con una determinata estensione senza dover specificare per forza il nome completo?

    (ne ho bisogno per non mostrare i file .PNG e .PHP)

    PS: non sono ancora molto pratico di php...

    Grazie a tutti in anticipo

  2. #2
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    se vuoi fare una lista dei file filtrata per tipo php ha una sua funzione nativa...


    Codice PHP:
    $lista_files=glob("cartella/*.estensione");

    echo 
    "<pre>";
    print_r($lista_files); 
    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  3. #3
    allora estrai l'estensione in questo modo

    Codice PHP:
    $estensione strtolower(substr($filestrrpos($file"."), strlen($file)-strrpos($file"."))); 
    quindi lo script diventerebbe così

    Codice PHP:
    <?php

    #apriamo la cartella il punto indica che � la cartella dove ci troviamo
    $cartella opendir('.');

    #creiamo un ciclo che legga i contenuti e li metta nell'array
    while ($file readdir($cartella)) {
    $file_array[] = $file;
    }
    #facciamo un ciclo foreach per prendere gli elementi
    foreach ($file_array as $file) {
    $estensione strtolower(substr($filestrrpos($file"."), strlen($file)-strrpos($file".")));
    #tutti tranne quelli che iniziano per "." o per ".."
    if ( $file == ".." || $file == "." || $estensione== "php" || $estensione == "png") {
    continue;
    }

    #ora viene il bello apro le marcature ti tabella e dentro esse mostro

    #ogni elemento dell'array linkato al propio nome
    echo "<TR><TD class=\"headBG3\" colspan=\"2\"><img src=\"$file.PNG\"></TD><TD align=\"left\" width=\"95%\"class=\"headBG3\" colspan=\"2\">";
    echo 
    "<a href=\"$file\">$file</a>";

    #chidendo poi la riga
    echo "</TD></TR>";
    }
    ?>
    fatto

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2006
    Messaggi
    15
    Grazie mille!

    Funziona alla perfezione!

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