Nascondere .htaccess dalla visualizzazione dei file visti da script

luigi777

Utente Attivo
14 Feb 2008
1.086
1
38
42
Massa, Italy
Salve, ho questo codice che ho scritto .. vorrei sapere come faccio ad nascondere ..htaccess dalla visualizzazione dei file nella cartella pages
ecco il codice:
PHP:
//Azione di default
if(empty($action)){ 
?>
<a href="index.php?m=pagine&action=aggiungi" onClick="return confirm('Sicuro di creare nuova pagina?');">Aggiungi Pagina</a>
<?php	
	
		global $page, $per_page, $has_previous, $has_next;
		if ( $handle = opendir("../pages/") ) {
			
			echo '<table width="100%" border="0" cellspacing="2" cellpadding="2">
  <tr>
    <td align="center" valign="middle"><font color="red">Pagina</font></td>
    <td align="center" valign="middle"><font color="red">Modifica</font></td>
	<td align="center" valign="middle"><font color="red">Cancella</font></td>
  </tr>';
			
			$count = 0;
			$skip = $page * $per_page;
			
			if ( $skip != 0 )
				$has_previous = true;
			
			while ( $count < $skip && ($file = readdir($handle)) !== false ) {
				if ( !is_dir($file))
					$count++;
			}
			$count = 0;
			while ( $count < $per_page && ($file = readdir($handle)) !== false ) {
				if ( !is_dir($file)) {
?>
			
	<tr>
    <td align="center" valign="middle"><?php echo $file; ?></td>
    <td align="center" valign="middle"><a href="index.php?m=pagine&action=modifica&url=<?php echo basename($file,'.htm'); ?>" onClick="return confirm('Sicuro di editare  <?php echo $file; ?>?');"><?php echo $file; ?></a></td>
   <td align="center" valign="middle"><a href="index.php?m=pagine&action=del&url=<?php echo basename($file,'.htm'); ?>" onClick="return confirm('Sicuro di cancellare <?php echo $file; ?>?');"><?php echo $file; ?></a></td>
  </tr>
<?php	
					//echo "<li><a href=".$file.">".$file."</a></li><br>";
					$count++;
				}
			}
			echo '</table>';
			
			while ( ($file = readdir($handle)) !== false ) {
				if ( !is_dir($file)) {
					$has_next = true;
					break;
				}
			}
		}
	if ( $has_previous )
		echo '<p class="prev"><a href="index.php?m=pagine&page='.($page - 1).'">&larr; Previous Page</a></p>';

	if ( $has_next )
		echo '<p class="next"><a href="index.php?m=pagine&page='.($page + 1).'">Next Page &rarr;</a></p>';

}

avete idee?

grazie mille.
 
ciao
ho dato un occhio di corsa e se non ho capito male tu vuoi leggere i file della cartella "pages" con l'esclusione dell' .htaccess e elencarli in modo che si possano modificare o eliminare, giusto?
perche non usi la funzione glob http://www.php.net/manual/en/function.glob.php, es
PHP:
<?php
$file=glob("../pages/*.html");
?>
$file è un array con solo i file tipo html contenuti in pages.
se i file elencati possono avere anche un'altra estenzione es. htm
PHP:
<?php
$file_1=glob("../pages/*.html");
$file_2=glob("../pages/*.htm");
//e fai un merge
$file=array_merge($file_1,$file_2);
?>
in questo modo i file .htaccess non vengono visualizzati
 
ho provato ad mettere glob .. ma non funziona più lo script e nemmeno la sua paginazione.

soluzione per non cambiare tutto lo script c'è?
grazie mille.
 
ok, c'è lo quasi fatta.. ma viene confuso tutto.
ecco lo script:
PHP:
//Azione di default
if(empty($action)){ 
?>
<a href="index.php?m=pagine&action=aggiungi" onClick="return confirm('Sicuro di creare nuova pagina?');">Aggiungi Pagina</a>
<?php	
	
		global $page, $per_page, $has_previous, $has_next;
		if ( $handle = opendir("../pages/") ) {
			
			echo '<table width="100%" border="0" cellspacing="2" cellpadding="2">
  <tr>
    <td align="center" valign="middle"><font color="red">Pagina</font></td>
    <td align="center" valign="middle"><font color="red">Modifica</font></td>
	<td align="center" valign="middle"><font color="red">Cancella</font></td>
  </tr>';
			
			$count = 0;
			$skip = $page * $per_page;
			
			if ( $skip != 0 )
				$has_previous = true;
			
			while ( $count < $skip && ($file = readdir($handle)) !== false ) {
				if ( !is_dir($file))
					$count++;
			}
			$count = 0;
			while ( $count < $per_page && ($file = readdir($handle)) !== false ) {
			
			if ( !is_dir($file)) {
			$ignore = array( '.htaccess'); // ignora file 
			if (!in_array($file,$ignore) and substr($file, 0, 1) != '.') {
				
?>
			
	<tr>
    <td align="center" valign="middle"><?php echo $file; ?></td>
    <td align="center" valign="middle"><a href="index.php?m=pagine&action=modifica&url=<?php echo basename($file,'.htm'); ?>" onClick="return confirm('Sicuro di editare  <?php echo $file; ?>?');"><?php echo $file; ?></a></td>
   <td align="center" valign="middle"><a href="index.php?m=pagine&action=del&url=<?php echo basename($file,'.htm'); ?>" onClick="return confirm('Sicuro di cancellare <?php echo $file; ?>?');"><?php echo $file; ?></a></td>
  </tr>
<?php	
					//echo "<li><a href=".$file.">".$file."</a></li><br>";
					$count++;
				}
			}
			echo '</table>';
			while ( ($file = readdir($handle)) !== false ) {
				if ( !is_dir($file)) {
					$has_next = true;
					break;
				}
			}
		}
		}
	if ( $has_previous )
		echo '<p class="prev"><a href="index.php?m=pagine&page='.($page - 1).'">&larr; Previous Page</a></p>';

	if ( $has_next )
		echo '<p class="next"><a href="index.php?m=pagine&page='.($page + 1).'">Next Page &rarr;</a></p>';


}
ora e il primo orginale:
Cattura1.png
questo il dopo:
Cattura2.png

idee come risolvere il problema?

grazie mille.
 
ho quasi risolto ma non capisco perché le paginazione non funziona correntemente:
idee?
codice:
PHP:
//Azione di default
if(empty($action)){ 
?>
<a href="index.php?m=pagine&action=aggiungi" onClick="return confirm('Sicuro di creare nuova pagina?');">Aggiungi Pagina</a>
<?php	
	
		global $page, $per_page, $has_previous, $has_next;
		if ( $handle = opendir("../pages/") ) {
			
			echo '<table width="100%" border="0" cellspacing="2" cellpadding="2">
  <tr>
    <td align="center" valign="middle"><font color="red">Pagina</font></td>
    <td align="center" valign="middle"><font color="red">Modifica</font></td>
	<td align="center" valign="middle"><font color="red">Cancella</font></td>
  </tr>';
			
			$count = 0;
			$skip = $page * $per_page;
			
			if ( $skip != 0 )
				$has_previous = true;
			
			while ( $count < $skip && ($file = readdir($handle)) !== false ) {
				if ( !is_dir($file))
					$count++;
			}
			$count = 0;
			while ( $count < $per_page && ($file = readdir($handle)) !== false ) {
			$ignore = array( '.htaccess'); // ignora file 
			if (!in_array($file,$ignore) and substr($file, 0, 1) != '.') {
			
			
				
?>
			
	<tr>
    <td align="center" valign="middle"><?php echo $file; ?></td>
    <td align="center" valign="middle"><a href="index.php?m=pagine&action=modifica&url=<?php echo basename($file,'.htm'); ?>" onClick="return confirm('Sicuro di editare  <?php echo $file; ?>?');"><?php echo $file; ?></a></td>
   <td align="center" valign="middle"><a href="index.php?m=pagine&action=del&url=<?php echo basename($file,'.htm'); ?>" onClick="return confirm('Sicuro di cancellare <?php echo $file; ?>?');"><?php echo $file; ?></a></td>
  </tr>
<?php	
					//echo "<li><a href=".$file.">".$file."</a></li><br>";
					$count++;
				}
			}
			echo '</table>';
			while ( ($file = readdir($handle)) !== false ) {
				if ( !is_dir($file)) {
					$has_next = true;
					break;
				}
			}
		}
	
	if ( $has_previous )
		echo '<p class="prev"><a href="index.php?m=pagine&page='.($page - 1).'">&larr; Previous Page</a></p>';

	if ( $has_next )
		echo '<p class="next"><a href="index.php?m=pagine&page='.($page + 1).'">Next Page &rarr;</a></p>';


}
 

Discussioni simili