Visualizzazione dei risultati da 1 a 5 su 5

Discussione: cartella vuota php

  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    179

    cartella vuota php

    ciao =) ho un problema con il mio script...
    Sto' leggendo (tramite passaggio di variabili di un form select) dentro delle cartelle...
    e ho fatto in modo che se nn trova la cartella corrispondente mi segnala l'errore.
    Vorrei fare in modo, anche, che se trova una cartella vuota mi compare la scritta "cartella vuota"
    Come devo fare?
    Questo e' il codice:
    codice:
    <?
    if($handle = @opendir($path))
    {
    	while(false !== ($file = readdir($handle)))
    	{
    		//clearstatcache();
    		if($file != "." && $file != "..")
    		{
    			if(is_file($path."/".$file))
    			{
    			?>
    				"><? echo $file; ?>
    
    			<?
    			}
    		}
    	}
    	closedir($handle);
    }
    else
    	echo "Sincronizzazione cartella fallita!";
    ?>
    Tnx =)

  2. #2
    Setta a false una variabile prima del while, settala a true all'interno del while e verificala dopo il while

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    179
    codice:
    <?
    if($handle = @opendir($path))
    {
    	$a=false;
    	while(false !== ($file = readdir($handle)))
    	{
    		//clearstatcache();
    		if($file != "." && $file != "..")
    		{
    			if(is_file($path."/".$file))
    			{
    			?>
    				"><? echo $file; ?>
    
    			<?
    			}
    		}
    		$a=true;
    	}
    	echo $a;
    	closedir($handle);
    }
    else
    	echo "Sincronizzazione cartella fallita!";
    ?>
    Risultato aggiunta variabile...
    ho 1 in tutte le cartelle sia in quelle piene che quella vuota
    E ora? =)

  4. #4
    Perchè non usi un po' di logica?

    All'interno del while hai 2 IF che determinano quando visualizzare dei link. Perchè non provi ad impostare la variabile nel momento in cui il tuo codice ritiene che vi siano dei file nella cartella?

  5. #5
    Codice PHP:
    <?


    if($handle = @opendir($path))
    {
        
    $n_files 0// Contatore dei files presenti nella cartella

        
    while(false !== ($file readdir($handle)))
        {
            
    //clearstatcache();
            
    if($file != "." && $file != "..")
            {
                if(
    is_file($path."/".$file))
                {
                
    ?>
                    [url="<? echo $path."]"><? echo $file?>[/url]

                <?
                            $n_files
    ++; // Incrementi il contatore dei files presenti nella cartella
                
    }
            }
        }
        
           switch(
    $n_files)   // uso switch e non un if giusto per rendere la cosa più chiara
            
    {
                case 
    0// Nel caso in cui il contatore non abbia trovato files
                  
    echo "

    [b]La cartella "
    .$path." è vuota[/b]</p>";
                break;
                
                case 
    1:
                  echo 
    "

    [b]La cartella "
    .$path." contiene un solo file[/b]</p>";
                break;

                default:
                  echo 
    "

    [b]La cartella "
    .$path." contiene ".$n_files." files[/b]</p>";
                break:
            }

        
    closedir($handle);
    }
    else
        echo 
    "Sincronizzazione cartella fallita!";
    ?>
    cosi va bene?

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