Ver Mensaje Individual
  #2 (permalink)  
Antiguo 03/03/2005, 11:43
josemi
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 24 años, 4 meses
Puntos: 16
Hola,

El problema esta en que si thumbnal_x es un subdirectorio de sec/imagenes, no se lo estas indicando. readdir() devuelve solo el el nombre de las entradas del directorio, no su ruta. Y tanto is_dir() como opendir() necesitan la ruta.

La solucion seria algo asi:
Código PHP:
$msto = NULL;

$raiz="sec/imagenes/";  // en una variable es mas comodo

$result = opendir($raiz);

echo 
"<table width=426 border=1 bordercolor=#000000 cellspacing=0>
<tr>
<td width=226 bgcolor=#FFCC66><b>Galeria</b></td>
<td width=100 bgcolor=#FFCC66><b>Nº Imagenes</b></td>
</tr></table>"
;
while (
$fn = readdir($result)) {
if (
$fn != "." AND $fn != ".." AND is_dir($raiz.'/'.$fn) AND !strstr($fn,'thumbnail_')) { // añadimos $raiz en el is_dir
if (is_dir($raiz.'/''thumbnail_'.$fn)) {  // añadimos $raiz en el is_dir
$b = 0;
if (@
$mainpage_showcount) {
$c = opendir($raiz.'/'."thumbnail_".$fn);  // añadimos $raiz en el opendir
while (false !== ($a = readdir($c))) {
if (
strtolower(substr($a, strlen($a) - 4, 4)) == ".jpg" ||
strtolower(substr($a, strlen($a) - 5, 5)) == ".jpeg") {
++
$b;
}
}

$b = "{$b}";
closedir($c);
}

if (
$b == "0") {
$b = "0";
}

if (!
$ascending) {
$msto = $msto."<table width=426 border=0 cellpadding=0 cellspacing=0><tr><td width=226><b><a href=\"home.php?sec=imagenes&type=display&dir=$fn\">{$fn}</a></td><td width=100>{$b}</td></tr></table>\n<br>";
} else {
$msto = "<table width=426 border=0 cellpadding=0 cellspacing=0><tr><td width=226><b><a href=\"home.php?sec=imagenes&type=display&dir=$fn\">{$fn}</a></td><td width=100>{$b}</td></tr></table>\n<br>".$msto;
}
}
}
}

echo 
$msto; 
No se si es necesario añadir la raiz en algun sitio mas (por ejemplo, en los links del final del codigo donde usas $fn).

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.