PDA

Visualizza la versione completa : Leggere una cartella e listare contenuto


Tablature
07-10-2009, 22:07
Ciao a tutti,
ho un piccolo problema con una procedurina php.
Io non riesco a risolverlo perchè lo script l'avevo copiato tempo fa e non conosco il php (se non minime e semplici modifiche).
E' una procedura che legge una directory e spara a video il suo contenuto.
Il tutto funzionava bene fino a quando il sito che mi ospita (host.sk) deve aver fatto delle modifiche o degli aggiornamenti sui suoi server.
Se andate sul mio sito - tablature.host.sk - e cliccate su ITALIANI vi appare un menu a discesa da cui scegliere l'iniziale del gruppo o cantante da visualizzare, ma selezionando una qualsiasi lettera, compare solo la mascherina che dovrebbe contenere l'elenco selezionato (cosa che avveniva normalmente fino a un po di tempo fa).
Questo è il php :


<HTML>
<HEAD>
<TITLE>Tablature.too.it - I Migliori Accordi della Rete</TITLE>
</HEAD>

<BODY background="../../Chitsfondo4.jpg" onload="javascript:{if(parent.frames[0]&&parent.frames['intestazione'].Go)parent.frames['intestazione'].Go()}" bgproperties="fixed">
<?PHP
// matriXIndexer 1.3h Copyright The Matrix Design / Matrix - http://www.thematrixdesign.com/matrix - matrix@thematrixdesign.com //
$DescriptionFilename = "index.htm";
$Descriptions = False;
$HidePaths = True;
$HideRelatedFiles = True;
$AlternateColors = False;

// ---------- Do not modify below this point. ---------- //

$i = "0";
$d = "0";
$TheDir = opendir(".");



?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<div align="center">
<center>
<table width="40%" border="0" cellpadding="0" cellspacing="0" bgcolor="#000080">
<tr>
<td>
<div align="center">
<center>
<table width="100%" border="0" cellpadding="2" cellspacing="1">
<tr bgcolor="#000080">
<td width="90%">
<div align="center"><p align="left"><font color="#FFFFFF"><font face="Arial, Helvetica, sans-serif">Artista / Gruppo</font></font></div>
</td>
</tr>
<?while($File = readdir($TheDir)){
if(is_dir($File)){
if(($File == "." || $File == "..") && (isset($HidePaths) && $HidePaths)){
$AllowPaths = False;
} else {
$AllowPaths = True;
}
if($AllowPaths){?>
<tr bgcolor="#C0BCC0">
<td width="90%"><font face="Arial, Helvetica, sans-serif" size="2"><span style="text-transform: capitalize"><a href='<?echo $File;?>'>
<?echo $File;?></a></font></span></td>
</tr>
<?} 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($Filename[1] == "jpg" || $Filename[1] == "gif" || $Filename[1] == "png" || $Filename[1] == "bmp"){$BGColor = "#DDDDE8";} elseif($Filename[1] == "htm" || $Filename[1] == "html" || $Filename[1] == "php" || $Filename[1] == "php3" || $Filename[1] == "asp" || $Filename[1] == "jsp"){$BGColor = "#EFD6D6";} elseif(is_dir($File)){$BGColor = "#C0BCC0";} else {$BGColor = "#C0BCC0";}
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 = "#C0BCC0";}
$Flag = "0";
} else {
$BGColor = "#C0BCC0";
}?>
<tr bgcolor="<?echo $BGColor;?>">
<td width="90%"><font face="Arial, Helvetica, sans-serif" size="2"><a href='<?echo $File;?>'>
<?echo $File;?></a></font></td>
</tr>
<?$i++;}
}
closedir($TheDir);?>
<tr bgcolor="#000080">
<td colspan="4">
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="40%"><font face="Arial, Helvetica, sans-serif" color="#FFFFFF" size="2">
Totale cartelle:<?echo $d;?>
</font></td>
<td width="60%" align="right"><font face="Arial, Helvetica, sans-serif" color="#C0BCC0" size="1">matriXIndexer1.3h&copy;2001</font></td>
</tr>
</table>
</td>
</tr>
</table>
</div>
</center>
</td>
</tr>
</table>

<p align="center"> <span style="background-color: #000080"><font color="#FFFFFF" face="Arial" size="3">HOME</font></span> (../../Bottom.html)


&nbsp


<script language="JavaScript" src="http://m1.nedstatbasic.net/basic.js">
</script>
<script language="JavaScript">
<!--
nedstatbasic("ABkjDgU+HTy9OHhv3jbyujWXuvmA", 1);
// -->
</script>
<noscript>
<a img src="http://m1.nedstatbasic.net/n?id=ABkjDgU+HTy9OHhv3jbyujWXuvmA"
border="0" nosave width="18" height="18"></a>
</noscript>

</p>
</BODY>
</HTML>


Spero di essere stato chiaro e vi ringrazio già da adesso.

P.S. Questo è il mio primo post sul forum....se ho sbagliato qualcosa...beh..scusatemi.

P.P.S. Ah...il file si chiama Index.php3...se può esser utile.

tapu
07-10-2009, 22:29
ciao...

allora ,premetto che non ho letto completamente il codice :)

prima di tutto :


P.S. Questo è il mio primo post sul forum....se ho sbagliato qualcosa...beh..scusatemi.
si! il titolo che hai dato non è molto comprensivo , cerca di inserire un titolo che descriva (in quanto possibile) il problema che tu hai.
il codice inseriscilo tra le tag [ CODE ] codice [ /CODE ] oppure [ PHP ] codice [ /php ] (le trovi anche sopra il thread , am ti consiglio di metterle a mano) code = # ,php = PHP



P.P.S. Ah...il file si chiama Index.php3...se può esser utile.
il tuo file si chiama veramente Index.php3???

tornando a noi , se prima ti funzionava nel server non vedo per quale motivo il codice si sia 'rotto' . La cosa che ti consiglio di andare a vedere subito sono i permessi , Tu hai detto che stai leggendo una cartella e al suo interno esiste un file video o altro. entra nel pannello di controllo e verifica i permessi .

fammi sapere se hai risolto cosi!!!

Tablature
07-10-2009, 22:45
"il tuo file si chiama veramente Index.php3???"

Dai...non mi far vergognare...l'ho detto prima che so poco o meno di poco di php.

Cmq sto controllando i permessi sulle cartelle e mi sembrano ok.
Son tutte read e execute per everyone.

E al prossimo post di uno script php, userò il metodo che m'hai consigliato.

Grazie e ciao !

Tablature
08-10-2009, 00:20
Nessun altro suggerimento ?

Van83
13-05-2011, 17:41
Ciao A tutti ho un problema importante ed urgente.

Le funzioni menzionate in questa discussione fanno riferimento alle cartelle e file presenti sullo stesso server o è possibile fare un collegamento anche con server esterni mediante riferimento http ??


nel senso:

io ho il mio file index.php su mioserver.itche ha al suo interno il codice


if (is_dir(http://altroserver.com/cartella/) {

eseguo il codice di lettura file

} else {

la cartella non esiste.

}

Si può fare lo stesso??
Nel caso non si possa fare c'è un modo alternativo?? Grazie.

k.b
13-05-2011, 17:46
1) la discussione e' vecchia di due anni, se devi fare una domanda aprine un'altra
2) come da regolamento qui non esistono urgenze
3) la funzione is_dir() non si puo' usare con gli URL ma solo con percorsi del filesystem

Loading