Newsgroup: it.comp.www.php
Titolo: lettura cartelle

In uno dei miei siti ho una pagina (public_html/cartella1/pagina.php che
legge tutte le cartelle contenute in cartella1
Questa pagina funziona.
Vorrei fare la stessa cosa in un altro mio sito ma non funziona.
Probabilmente perché...
nel sito 1 la pagina che legge le cartelle è in public_html/cartella1/
mentre nel sito due la pagina che legge è in public_html/
può essere?
Sapete dove si...incavola???
su $TheDir = opendir(".");
ecco il codice che funziona nel primo sito e che non funziona nel
secondo
<?
$DescriptionFilename = "indexer.txt";
$Descriptions = True;
$HidePaths = False;
$HideRelatedFiles = True;
$AlternateColors = False;
//per scrivere le date di modifica dei mini siti
$fd2=fopen("minisiti.txt","w");
//
$i = "0";
$d = "0";
$TheDir = opendir(".");
if(!file_exists($DescriptionFilename)){
	$DescriptionFile = fopen($DescriptionFilename, "a+");
	fclose($DescriptionFile);
}
while($File = readdir($TheDir)){
			if(is_dir($File)){
				if(($File == "." || $File == "..") && (isset($HidePaths) &&
$HidePaths)){
					$AllowPaths = False;
				} else {
					$AllowPaths = True;
				}
				if($AllowPaths)
{
 
$inizio = substr($File,0,3);
if(($File==".") OR ($File=="..") OR ($File=="inc") OR
($File=="immagini") OR ($inizio=="zzz") OR ($File=="editor"))
{
}
else
{
$File_maiuscolo = strtoupper($File);
$File_minuscolo=strtolower($File);
$percorso=$File_minuscolo."/dati/tpi.txt";
$modifica = date("d M Y H:i:s", filemtime($percorso));
$modifica2 = date("Y", filemtime($percorso)).date("m",
filemtime($percorso)).date("d", filemtime($percorso)).date("H",
filemtime($percorso));
$percorso_completo=$File_minuscolo."/counter.txt";
$fd=fopen($percorso_completo,"r");
$visited = fgets($fd,4096);
fclose($fd);
$percorso_completo_previsione=$File_minuscolo."/dati/previsione.txt";
$fd=fopen($percorso_completo_previsione,"r");
$prev = fgets($fd,4096);
fclose($fd);
echo("<tr><td bgcolor=#003366><a href=\"$File_minuscolo\"><p
align=\"center\"><font color=\"#FFFFFF\"
size=2><b>$File_maiuscolo</a></font></td><td bgcolor=#FFFFFF><p
align=\"center\"><font color=\"#003366\"
size=2>$modifica</b></font></p></td><td bgcolor=#003366><p
align=\"center\"><font color=\"#FFFFFF\" size=2><b>$visited</td></tr>");
//                              cerco di ottenere una stringa lunga 50
caratteri
$lun=strlen($File_minuscolo);
$max=30-$lun;
for($yy=1;$yy<$max+1;$yy=$yy+1)
{
$File_minuscolo=$File_minuscolo." ";
}
$lun=strlen($visited);
$max=5-$lun;
for($yy=1;$yy<$max+1;$yy=$yy+1)
{
$visited = "0" . $visited;
}
$lun=strlen($prev);
$max=20-$lun;
for($yy=1;$yy<$max+1;$yy=$yy+1)
{
$prev = $prev . " ";
}
$modifica2=$modifica2 . "-" . $visited . "-" . $prev;
$yyy=$yyy+1;
if($yyy==1)	{
		fwrite($fd2,$File_minuscolo." ".$modifica2);
		}
else
		{
		fwrite($fd2,"\r\n".$File_minuscolo." ".$modifica2);
		}
}
//                              fine della modifica della stringa
if(isset($Descriptions) && $Descriptions){
$DescriptionFile = fopen($DescriptionFilename, "r"); 
while(!feof($DescriptionFile)){
$DescriptionFileLine = fgets($DescriptionFile, 5000);
$Line = explode("\t", $DescriptionFileLine);
}
fclose($DescriptionFile);
}} if($File != "." && $File != ".."){$d++;}
}
}
closedir($TheDir);
$TheDir = opendir(".");
while($File = readdir($TheDir)){
			if(($HideRelatedFiles) && ($File == basename($PHP_SELF) || $File ==
$DescriptionFilename)){
				$AllowFile = False;
			} else {
				$AllowFile = True;
			}
			if($File != "." && $File != ".." && !is_dir($File) && $AllowFile){
				if(($Flag == "0" || $Flag == "") && ($File != "." && $File !=
"..")){
					$Filename = explode(".", strtolower($File), 2);
					if($AlternateColors){
						$Flag = "1";
					} else {
						$Flag = "0";
					}
				}
				elseif(($Flag == "1") && ($File != "." && $File != "..") &&
($AlternateColors)){
					$Filename = explode(".", strtolower($File), 2);
					if($Filename[1] == "jpg" || $Filename[1] == "gif" || $Filename[1]
== "png" || $Filename[1] == "bmp"){$BGColor = "#D7D7E3";}
elseif($Filename[1] == "htm" || $Filename[1] == "html" || $Filename[1]
== "php" || $Filename[1] == "php3" || $Filename[1] == "asp" ||
$Filename[1] == "jsp"){$BGColor = "#ECCECE";} else {$BGColor =
"#E1E2CB";}
					$Flag = "0";
				} else {
				}
				if(isset($Descriptions) && $Descriptions){
					$DescriptionFile = fopen($DescriptionFilename, "r"); 
					while(!feof($DescriptionFile)){
						$DescriptionFileLine = fgets($DescriptionFile, 5000);
						$Line = explode("\t", $DescriptionFileLine);
						if($Line[0] == $File){
							echo $Line[1];
						}
					}
					fclose($DescriptionFile);
				}
        $i++;}
		}
        closedir($TheDir);
fclose($fd2);
?>
		</tr>
<tr><td></td></tr>
	</table>
</div>
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 Vorrei fare la stessa cosa in un altro mio sito ma non funziona.
Definisci "non funziona".
-- 
I am what I am, I do what I can
Do. Or do not. There is not try.

 file://per scrivere le date di modifica dei mini siti

safe mode
problemino in windows

Prova a passare come cartella un path assoluto, perché se c'è il
"base restriction" (o qualcosa del genere) non funziona la riga:
$TheDir = opendir(".");
che puoi provare a trasformare in
$TheDir = opendir(dirname(__FILE__));