Problema con el listado de un directorio

jetrho
08 de Febrero del 2004
Hola, tengo el siguiente codigo:

<?
if (!$path)
{
$path="fotos/";
}
$directorio=dir($path);

echo "Directorio ".$path.":<br><br>";

while ($archivo = $directorio->read())
{
echo ("<a href=$PHP_SELF?path=$path/$archivo/>$archivo</a><br>");
}
echo ("<a href=$PHP_SELF?path=fotos/>Volver a fotos</a>");
$directorio->close();
?>

la funcion que pretendo conseguir sale a la perfeccion, lo unico que me gustaria conseguir es que no me saliera en pantalla los directorios './' y '../' ya que si salen y encima salen enlazados, el navegante puede escalar por los directorios. Habia pensado en hacer un bucle para que no muestre los dos primeros resultados, pero no lo consigo. Esta es la solucion del bucle que he probado:

<?
if (!$path)
{
$path="fotos/";
}
$directorio=dir($path);

echo "Directorio ".$path.":<br><br>";

for ($i=0;$archivo = $directorio->read();$i++)
{}
while ($archivo = $directorio->read())
{
echo ("<a href=$PHP_SELF?path=$path/$archivo/>$archivo</a><br>");
}
echo ("<a href=$PHP_SELF?path=fotos/>Volver a fotos</a>");
$directorio->close();
?>

A ver si se os acurre algo.

Gracias

Salu2 ----------->Jetrho

jetrho
08 de Febrero del 2004

Ya lo he solucionado, el problema es que en el bucle for, habia escrito mal la sintaxis. Habia puesto esto:

for ($i=0;$archivo = $directorio->read();$i++)
{}

y era asi:

for ($i=0;$i<2;$archivo = $directorio->read())
{
$i++;
}

Bueno, no me ha hecho falta vuestra ayuda, pero lo pongo por si a alguien le sucede esto.

Salu2 -------->Jetrho