Newsgroup: it.comp.www.php
Titolo: Leggere il contenuto di una Dir ma non troppo...

Ho preso del codice php da un manuale. Devo leggere il contenuto di
una dir e far scaricare i file che ci sono dentro. Stavo impaginando
il tutto quando ho trovato un problemino che influisce sulla grafica.
Quando leggo i file trovo anche  .  e  .. 
Nel manuale c'era scritto come nasconderli, però, usando il codice che
riporto sotto, mi vado a ritrovare con due TR di troppo (in pratica
quelli corrispondenti a  .  e  .. )
C'è modo di non far "comparire" questi due TR?
(( la prima e l'ultima riga fuori dal codice mi servono per
"impaginare" e delimitare il contenuto del php tramite css dove ho
impostato il colore di sfondo e un bordo ))
<table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr>	<td class="bordo_prd_basso">&nbsp;</td>
	<td class="bordo_prd_basso">&nbsp;</td>
  </tr>
            <?php
                   $cartella=opendir('download');
                   while ($file=readdir($cartella)){
                       $array_file[]=$file;
                   }
                   foreach($array_file as $file){
                       echo"<tr><td class='td_altezza'>";
		   if($file==".."||$file=="."){
                           continue;
                       }
                       $dimensioni_file=filesize("download/".$file);
                       echo"<a class='interno'
href='x_down_1.php?nome_file=$file&dimensioni_file=$dimensioni_file'>$file</a>
                       </td>
                       <td class='td_altezza'>";
                       echo(ceil($dimensioni_file / 1024))." Kb";
                       echo"</td></tr>";
                   }
	?>
  <tr>	<td class="bordo_prd_alto">&nbsp;</td>
	<td class="bordo_prd_alto">&nbsp;</td>
  </tr>
</table>
-- 
Se mi conosci lo sai...
Se 'un mi conosci... sai una se## chi so'!!

                        }
l'errore è in come imposti il foreach fai una cosa del genere:
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr> <td class="bordo_prd_basso">&nbsp;</td>
<td class="bordo_prd_basso">&nbsp;</td>
</tr>
<?php
foreach($array_file as $file) {
    if($file!=".." && $file!=".") {
        echo"<tr><td class='td_altezza'>";
        $dimensioni_file=filesize("download/".$file);
        echo"<a class='interno'
href='x_down_1.php?nome_file=$file&dimensioni_file=$dimensioni_file'>$file</
a>
        </td>
        <td class='td_altezza'>";
        echo(ceil($dimensioni_file / 1024))." Kb";
        echo"</td></tr>";
    }
}
?>
<tr> <td class="bordo_prd_alto">&nbsp;</td>
<td class="bordo_prd_alto">&nbsp;</td>
</tr>
</table>
ciao,
ste

>>		if ($file[0] == '.') continue;
		$array_file[] = $file;
	}
Cosi' non ti finisce neppure nell'array.
Spero che il resto del codice vada bene ;-)
Leonardo
-- 
Time's angles, mages tell, conceal a place
incredible, beyond the mundane mind;
night-shrouded and between the seas of space
dread creatures drift in the ageless winds.


Cosě perdi file tipo che so, .signature  devi vedere se proprio c'č . o ..
--
".signature" non č riconosciuto come comando interno o esterno,
 un programma eseguibile o un file batch.

Cosě perdi file tipo che so, .signature  devi vedere se proprio c'č . o ..
Ma quelli in genere sono comunque file nascosti (.htaccess e simili).
Comunque, cambiare il test e' immediato. IMHO e' piu' tranquillo fare
a meno di _qualsiasi_ dot file.
Leonardo per le spicce
