Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    elencare le directory vuote

    Salve a tutti. Ho guardato sul manuale php ma non ho trovato una funzione che distingua le directory vuote.

    Ho una directory contenente altre directory devo riuscire ad elencare solo quelle vuote per poi poter sceglier quelle da cancellarle.
    Credo che non sia necessario aprirle tutte e listare i file e contarli. Esiste qualche altro sistema?
    Qualche idea? (funzionante con versioni di php inferiori alla 5).
    Grazie

  2. #2
    up

  3. #3
    up

  4. #4
    apro la directory e la leggo se contiene dir la apro e la leggo conto i file contenuti se vuota inserisco il nome in un array il tutto in un ciclo while?
    Fareste così o c'è un modo meno macchinoso?

  5. #5
    Così si può fare ma è l'unico metodo?
    Gradirei almeno una risposta.Grazie.

  6. #6
    Mi sono fatto questa funzione e funge ma è possibile che non esista un sistema più semplice senza dover scrivere una paginata di php.



    Codice PHP:
    <?php
    #elenca le dir vuote
    function elenca_dir_vuote($dir="../../gallery/gallery/"){ //DIRECTORY DA APRIRE
            
    $handle = @opendir($dir);  
                while (
    $doc = @readdir ($handle)) { // legge tutti i file
                
    if($doc == "." || $doc == ".." || (is_file($doc))) continue;
                   unset(
    $tutte); //azzero il conto dei file
                    
    $fd = @opendir($dir.$doc); 
                       while (@
    $file readdir ($fd)){
                       
    $tutte[]=$file;//array contenente lelenco di tutti i file
                       
    $totale=(count($tutte))-2;//conta i file interni sottraendo 2 per . e ..
                       
    //fine  II while
                   
    if ($totale==&& (is_dir($dir.$doc))) {
                   
    $dir_vuote[]=$doc//ARRAY CONTENENTE LE DIR VUOTE
                   
    asort($dir_vuote);
                   
    reset($dir_vuote);
                   } 
    //fine if totale
                   
    @closedir ($fd) ;
                   } 
    //fine  I while
            
    @closedir ($handle) ;
            if (!
    $dir_vuote) echo "Non sono presenti directory vuote in questa cartella";
            return 
    $dir_vuote;
            } 
    //fine funzione
            
            //prova uso funzione
            
    $dir_vuote=elenca_dir_vuote("../../gallery/");
            
    print_r($dir_vuote)
        
    ?>

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