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

    problemi con is_dir nelle sottodirectory

    ciao a tutti
    avrei bisogno di una mano riguardo una funzione.

    Ho un select box che tramite php mi mostra la struttura di una specifica directory (ad esempio mi mostra quante cartelle e quante immagini ci sono dentro la cartella imgs.)
    Ho dato al select un raggruppamento con optgroup per dividere le cartelle dai files. Ho impostato allo stesso select l'evento onChange che ricaricando la pagina mi entra dentro la directory che l'utente decide. Il problema arriva adesso. Non riesco ad andare oltre il primo livello.

    Se la root per esempio è imgs e dentro di essa ci sono 2 sottodirectory con dei file, la prima volta che l'utente seleziona una delle due, riesce ad entrare facendomene visionare il contenuto, ma se all'interno di essa vi è una seconda subdirectory, selezionandola non si riesce ad entrare. vi posto il codice:

    codice:
    <?
    print "<select name=\"anteprima\" style=\"font-size:8pt\" onChange=\"Resend(this.value);\">\n";
    				
    // Mi visualizza il nome delle cartelle nel gruppo cartelle
      print "<optgroup label=\"Cartelle\">\n";
      print "<option value=\"\">Scegli ...\n";
      if ($dir=opendir($dir_to_browse)) {
        while (($files=readdir($dir))!==false) {
          if (is_dir($dir_to_browse."/".$files) && (($files !=".")&& ($files!=".."))) {				
            print "<option value=\"imgs/{$files}\">{$files}\n";
          }
        }
      }
    //closedir($dir);
    print "</optgroup>\n";
    // Mi visualizza il nome dei files nel gruppo Files
    if ($dir_to_browse !="imgs") {
      print "<optgroup label=\"Immagini\">\n";
      print "<option value=\"\">Scegli ...\n";
      if ($dir=opendir($dir_to_browse)) {
        while (($files=readdir($dir))!==false) {
          if (!is_dir($dir_to_browse."/".$files)) {
            print "<option value=\"imgs/{$files}\">{$files}\n";
          }
        }
      }
    }
    print "</optgroup>\n";
    print "</select>\n";
    print "</td></tr>\n";
    ?>
    Qualche consiglio ?
    Nulla è impossibile. Il difficile è trovare la soluzione che renda l'impossibile possibile...
    http://www.eternaldream.it

  2. #2
    ciao
    trovato la soluzione
    bastava soltanto spostare la variabile nel seguente modo:

    codice:
    if (is_dir($dir_to_browse."/".$files) && (($files !=".")&& ($files!=".."))) {				
      print "<option value=\"imgs/{$files}\">{$files}\n";
    }
    in

    codice:
    if (is_dir($dir_to_browse."/".$files) && (($files !=".")&& ($files!=".."))) {				
      print "<option value=\"{$dir_to_browse}/{$files}\">{$files}\n";
    }
    Nulla è impossibile. Il difficile è trovare la soluzione che renda l'impossibile possibile...
    http://www.eternaldream.it

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.