Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/09/2003, 22:21
Avatar de grovervas
grovervas
Usuario no validado
 
Fecha de Ingreso: junio-2002
Ubicación: Perú
Mensajes: 306
Antigüedad: 21 años, 10 meses
Puntos: 0
Problemas al leer directorio

Tengo un problema cuando hago el recorrido de un directorio no me detecta los tipos de archivos y a todos los elementos u objetos me los reconoce como ti todos fueran directorios, pero cuando efectruo que se lea el mismo direcotorio en donde esta la pagina index.php que lee el direcotorio todo funciona bien el problema es cuando leo otro directorio.. el codigo es el siguiente:

if($ruta == "")
{
$dir = "/Apache/htdocs/download/";
//$dir = ".";
}
else
{
$dir = $ruta;
}
$d = dir($dir); //Leemos el directorio
while ($file = $d->read())
{
//Capturamos todos los atributos del archivo.
$tipo = filetype($file);
$size = filezise($file);
$modificado = stat($file);
$ext = strrchr($file,'.');
$solo_nombre = str_replace (strrchr ($file, "."), "", $file);
# Verificamos si es un fichero (no un directorio) y si la extension del directorio se encuentra en $display_list
#--------------------------------------------------------------------------------
if ($tipo == file && preg_match ("/$ext/i", $display_list))
{
$solo_nombre = str_replace("_"," ",$solo_nombre);
$solo_nombre = strtolower($solo_nombre);
$solo_nombre = ucwords($solo_nombre);
$uploaddate = date("m-d-y",$modificado[9]);
//Formateamos la salida de acuerdo al criterio de orden.
if ((!$search) && ($orden == "Alfabetico"))
{
$filename[$totalfiles] = "$solo_nombre|$solo_nombre|$file|$ext|$size|$uploa ddate|$content";
}
if ((!$search) && ($orden == "Tamaño"))
{
$filename[$totalfiles] = "$size|$solo_nombre|$file|$ext|$size|$uploaddate|$ content";
}
if ((!$search) && ($orden == "Accesos"))
{
$filename[$totalfiles] = "$accesses|$solo_nombre|$file|$ext|$size|$uploadda te|$content";
}
if (($search) && ($C1))
{
$searchtext = "Your search for <b>$search</b> Yielded the following results:";
$filas_por_pagina = 0;
$currentpage = 1;
$pos = preg_match ("/$search/i", "$solo_nombre$content");
#print "pos is $pos";
if ($pos)
{
$filename[$totalfiles] = "$accesses|$solo_nombre|$file|$ext|$size|$uploadda te|$content";
//print $solo_nombre;
}
}
if ($search)
{
$searchtext = "Your search for <b>$search</b> Yielded the following results:";
$filas_por_pagina = 0;
$currentpage = 1;
$pos = preg_match ("/$search/i", "$solo_nombre");
#print "pos is $pos";
if ($pos)
{
$filename[$totalfiles] = "$accesses|$solo_nombre|$file|$ext|$size|$uploadda te|$content";
#print $solo_nombre;
}
}
$totalbytes = $totalbytes + $size;
$totalfiles++;
}
elseif(($tipo == dir) && ($file != ".") && ($file != ".."))
{
$solo_nombre = str_replace("_"," ",$solo_nombre);
//echo $solo_nombre;
$solo_nombre = strtolower($solo_nombre);
$solo_nombre = ucwords($solo_nombre);
$uploaddate = date("m-d-y",$modificado[9]);
//Formateamos la salida de acuerdo al criterio de orden.
if ((!$search) && ($orden == "Alfabetico")&& ($solonombre != "."))
{
$foldername[$totalfolder] = "$solo_nombre|$solo_nombre|$file|$ext|$size|$uploa ddate|$content";
}
if ((!$search) && ($orden == "Tamaño"))
{
$foldername[$totalfolder] = "$size|$solo_nombre|$file|$ext|$size|$uploaddate|$ content";
}
if ((!$search) && ($orden == "Accesos"))
{
$foldername[$totalfolder] = "$accesses|$solo_nombre|$file|$ext|$size|$uploadda te|$content";
}
$totalbyte = $totalbytea + $size;
$totalfolder++;
}
}

el problema surge cuando en l linea
$dir = "/apache/htdocs/download/" funciona todo bien pero si el direcotior cambai a "/apache/htdocs/download/prueba/" me sale un erro al leer el tamaño el el stat, y cuando utilizo otras rutas tambien me reconoce a los archivos como de tipo carpeta

Última edición por grovervas; 28/09/2003 a las 22:27