Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1

    Visualizzare nella directory soltanto cartelle?

    Buon giorno, vorrei sapere cortesemente come posso visualizzare dopo una ricerca all'interno di una qualsiasi directory soltanto le cartelle.
    In quanto solitamente tramite la funzione dir mi restituisce tutti i file e cartelle che sono all'interno di quella directory.
    Per il momento ho fatto cosi ma mi restituisce file e cartelle.
    codice:
    $d = dir("../DOC/RassegnaStampa/");
    $n = 0;
    while ($entry = $d->read()) {
    	$nProgr = $n++;
    	echo "<input type='checkbox' name=" . $entry . " value=" . $nProgr  .">" . $entry. "
    \n";
    }
    $d->close();
    Questo in linea di massima,ovvio che dovrò inserire dei controlli ma sapete aiutarami?

    Grazie mille...

  2. #2
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    codice:
        $d = dir("../DOC/RassegnaStampa/");
        $n = 0;
        while ($entry = $d->read()) {
            if(is_dir($entry) {
        	  $nProgr = $n++;
        	  echo "<input type='checkbox' name=" . $entry . " value=" . $nProgr  .">" . $entry. "
    \n";
            }
        }
        $d->close();

  3. #3
    fai il controllo su $entry

    codice:
    if (is_dir($entry)) // è una cartella e scrivi il nome





    http://it2.php.net/manual/it/function.is-dir.php
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  4. #4
    grazie mille ragazzi.....alla prox

  5. #5
    scusatemi... ma mi restituisce tramite quella path un valore1 = ".";
    valore2 = "..";

    ma delle cartelle nessuna traccia..come mai?scusate l'ignoranza

  6. #6
    si è normale: http://it2.php.net/manual/it/function.readdir.php


    per "eliminarli" basta aggiungere la condizione all'if
    if (is_dir($entry) && $entry!="." && $entry!="..")






    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  7. #7
    codice:
    $d = dir("../DOC/RassegnaStampa/");
    	$n = 0;
    	while ($entry = $d->read()) {
    		if (is_dir($entry) && $entry!="." && $entry!="..") {
    		$nProgr = $n++;
    		echo "<input type='checkbox' name=" . $entry . " value=" . $nProgr  .">" . $entry. "
    \n";
    	        }		
    	}
    	$d->close();
    Ho fatto cosi, ma non funziona non mi restituisce nulla..
    Come mai?
    Ho guardato anche il link che mi hai mandato, ho eseguito lo script del tutorial ma, ritorno al problema iniziale, mi fà vedere tutto il contenuto della directory...
    puoi seguirmi un momento per favore...scusa la mia ignoranza
    Grazie mille

  8. #8
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    Originariamente inviato da ANTAGONIA
    codice:
    $d = dir("../DOC/RassegnaStampa/");
    	$n = 0;
    	while ($entry = $d->read()) {
    		if (is_dir($entry) && $entry!="." && $entry!="..") {
    		$nProgr = $n++;
    		echo "<input type='checkbox' name=" . $entry . " value=" . $nProgr  .">" . $entry. "
    \n";
    	        }		
    	}
    	$d->close();
    Ho fatto cosi, ma non funziona non mi restituisce nulla..
    Come mai?
    Ho guardato anche il link che mi hai mandato, ho eseguito lo script del tutorial ma, ritorno al problema iniziale, mi fà vedere tutto il contenuto della directory...
    puoi seguirmi un momento per favore...scusa la mia ignoranza
    Grazie mille
    prova a dare un echo di $entry, e verifica che il percorso sia completo e che si riferisca in effetti a una directory.


  9. #9
    Se faccio l'echo di $entry prima del while mi fa vedere tutto il contenuto della directory compresi i ".",".." i file e le cartelle.
    Se invece lo voglio visualizzare dopo l'if non mi fà vedere nulla cosi:
    codice:
    1° con risultato
    echo "Entry: " . $entry . "
    ";
    	while ($entry = $d->read()) {
                  ....
            }
    
    
    2° con risultato
    while ($entry = $d->read()) {
       echo "Entry: " . $entry . "
    ";
        if (is_dir($entry.....
            }
    
    3° nessun risultato
    if (is_dir($entry) && $entry!="." && $entry!="..") {
    	echo "Entry: " . $entry . "
    ";
    }
    che devo fà?

  10. #10
    ci dev'essere qualcosa che non quadra, perché ho fatto una prova e mi restituisce una cosa un po' strana :master:

    ho scritto questa funzioncina che dovrebbe fare quello che chiedi:
    codice:
    function leggiDir($dirname){
      if ($handle = opendir($dirname)) {
        while (false !== ($file = readdir($handle))) {
          if ($file == "." || $file == ".." || !is_dir($file)) 
            continue;
          echo "$file
    \n";
        }
        closedir($handle);
      }
    }
    e l'ho provata su una mi dir così facendo: leggiDir("cc_51"); e mi restituisce tutte le cartelle che ho all'interno della cartella cc_51 tranne una e non mi spiego il motivo!
    ho fatto un'ulteriore prova sulla cartella che non scrive e allora subito dopo aver eseguito la funzione ho messo:
    codice:
    echo is_dir("cc_51/menu") ? "dir" : "no dir";
    e la cosa bella è che ottengo a video dir...quindi non mi spiego perché all'interno della funzione non venga scritta!

    ci sarà senz'altro qualche cavillo...ma qual è?
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

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.