Visualizzazione dei risultati da 1 a 4 su 4

Discussione: php is_dir

  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    118

    php is_dir

    Ragazzi cosa c'è di sbagliato in questo codice?
    codice:
    function analizza_cartella($dir) {
    $down = opendir($dir);
    while ($file = readdir($down)) {
    $file_array[] = $file;
    }
    foreach ($file_array as $file) {
      if ( !($file == ".." || $file == ".")) {
      if (is_dir($file)) {
        echo $file."            DIR
    
    ";
        analizza_cartella($file);
    }
      else {
        echo $file."
    ";
      }
    }
    }
    }
    analizza_cartella("cartella");
    In pratica mi stampa tutti i file come se fossero file, e invece sono tutte cartelle e una contiene dei file, che dovrebbe stampare anche!!! Mi restituisce sempre false all'if (is_dir($file))

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    118
    chiedo scusa ai moderatori potete chiudere la discussione ho trovato la soluzione.
    cmq per quelli a cui può interessare era così:
    codice:
    function analizza_cartella($dir) {
    $down = opendir($dir);
    while ($file = readdir($down)) {
    $file_array[] = $file;
    }
    foreach ($file_array as $file) {
      if ( !($file == ".." || $file == ".")) {
      if (is_dir("prova/".$file)) {
        echo $file."            DIR
    
    ";
        analizza_cartella("prova/".$file);
    }
      else {
        echo $file."<a href=\"prova/elimina.php?file=".$file."\"> Cancella</a>
    ";
      }
    }
    }
    }
    analizza_cartella("prova");

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    118
    ragazzi nn chiudete, un attimo. Mi è venuto in mente un altro dubbio sempre a riguardo questa funzione. Così com'è adesso funziona ma ammettiamo che all'interno di una delle cartelle analizzate ci siano altre cartelle la funzione mi darà lo stesso errore di prima? in teoria è così, quindi come si potrebbe risolvere?

  4. #4
    Grazio mille, la soluzione da te scritta mi ha risolto il prob, ankeio come te non mettevo la directory in is_dir();

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.