Foros del Web » Programando para Internet » PHP »

Función Opendir

Estas en el tema de Función Opendir en el foro de PHP en Foros del Web. Que tal, En un script veo que utilizan la función opendir así para indicar la ruta: Código PHP: $dir = opendir ( '.' );  Como ...
  #1 (permalink)  
Antiguo 16/09/2005, 12:29
Avatar de ADIÓS_ADRIANA  
Fecha de Ingreso: septiembre-2005
Mensajes: 263
Antigüedad: 12 años, 3 meses
Puntos: 0
Función Opendir

Que tal,

En un script veo que utilizan la función opendir así para indicar la ruta:

Código PHP:
$dir=opendir('.'); 
Como se pone una ruta absoluta? por ejemplo C:\

No me rula.

Saludos y Gracias.
  #2 (permalink)  
Antiguo 16/09/2005, 13:53
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 14 años, 1 mes
Puntos: 11
No se si podrá leer fuera del documentroot, pero puedes intentar asi:

$dir=opendir('C:/');
  #3 (permalink)  
Antiguo 16/09/2005, 15:17
Avatar de ADIÓS_ADRIANA  
Fecha de Ingreso: septiembre-2005
Mensajes: 263
Antigüedad: 12 años, 3 meses
Puntos: 0
Que tal, como dices me saca error, aquí pongo el script completo cuya finalidad es litar y contar los archivos de un directorio.


Acerca de c: abrá que modificar algo adicional para que funcione? o no se puede con rutas absolutas.

Código PHP:
<?
$total
=0;
$sizekb 0.0 ;
$sizemb 0.0 ;
$dir=opendir('.');
while (
$file readdir($dir))

if(
$file != "index.php" AND $file != "" AND $file != "." AND $file != "..") {
  {
   
$total++; 
   if((
filesize($file) < 1024) AND (filesize($file) > 1)){ $sizekb filesize($file);
   echo
"<a href=\"$file\">&nbsp;$file</a> @ $sizekb bytes<br>"; }
   if((
filesize($file) > 1024) AND (filesize($file) < 1024000)){ $sizekb round(filesize($file)/1024,2);
   echo
"<a href=\"$file\">&nbsp;$file</a> @ $sizekb Kb<br>"; }
   if(
filesize($file) > 1024000){ $sizekb round(filesize($file)/1024000,2);
   echo
"<a href=\"$file\">&nbsp;$file</a> @ $sizekb Mb<br>"; }
  }
}
}
closedir($dir) ;
?>
<? 
echo "Total Files:".$total?>
  #4 (permalink)  
Antiguo 16/09/2005, 15:23
Avatar de Vaalegk  
Fecha de Ingreso: abril-2005
Mensajes: 154
Antigüedad: 12 años, 8 meses
Puntos: 2
Que error te manda?
  #5 (permalink)  
Antiguo 16/09/2005, 15:29
 
Fecha de Ingreso: septiembre-2005
Mensajes: 101
Antigüedad: 12 años, 3 meses
Puntos: 0
Cita:
Iniciado por Vaalegk
Que error te manda?
esp
  #6 (permalink)  
Antiguo 16/09/2005, 15:48
Avatar de ADIÓS_ADRIANA  
Fecha de Ingreso: septiembre-2005
Mensajes: 263
Antigüedad: 12 años, 3 meses
Puntos: 0
Por ejemplo salen estos:

Código PHP:
Warningfilesize(): Stat failed for Actualizaciones 2000 
(errno=No such file or directoryin c:easyphp1-8www
listadorlistador
-de-archivos-index.php on line 11

Warning
filesize(): Stat failed for Actualizaciones 2000 
(errno=No such file or directoryin c:easyphp1-8www
listadorlistador
-de-archivos-index.php on line 11

Warning
filesize(): Stat failed for Actualizaciones 2000 
(errno=No such file or directoryin c:easyphp1-8www
listadorlistador
-de-archivos-index.php on line 13

Warning
filesize(): Stat failed for Actualizaciones 2000
(errno=No such file or directoryin c:easyphp1-8www
listadorlistador
-de-archivos-index.php on line 15

Warning
filesize(): Stat failed for agntclient.log (errno=
No such file or directoryin c:easyphp1-8wwwlistador
listador
-de-archivos-index.php on line 11

Warning
filesize(): Stat failed for agntclient.log (errno=-
 
No such file or directoryin c:easyphp1-8wwwlistador
listador
-de-archivos-index.php on line 11

Warning
filesize(): Stat failed for agntclient.log (errno=
No such file or directoryin c:easyphp1-8wwwlistador
listador
-de-archivos-index.php on line 13

Warning
filesize(): Stat failed for agntclient.log (errno=
No such file or directoryin c:easyphp1-8wwwlistador
listador
-de-archivos-index.php on line 15

Warning
filesize(): Stat failed for Antivirus y Nero (errno=
No such file or directoryin c:easyphp1-8wwwlistador
listador
-de-archivos-index.php on line 11 
  #7 (permalink)  
Antiguo 16/09/2005, 16:33
Avatar de Vaalegk  
Fecha de Ingreso: abril-2005
Mensajes: 154
Antigüedad: 12 años, 8 meses
Puntos: 2
Intenta
Código PHP:
$total=0;
$sizekb 0.0 ;
$sizemb 0.0 ;
$path='C:/';   /*Adicion*/
$dir=opendir($path);
while (
$file readdir($dir))
{
  if(
$file != "index.php" AND $file != "" AND $file != "." AND $file != ".." && !is_dir($path.$file)) {
    
$total++;
    
$filesize=filesize($path.$file);
    
$sizekb=filesize($path.$file);
    
    if(
$filesize 1024){ 
        
$sizekb filesize($path.$file).' bytes';
    }else{
        if(
$filesize 1024  && $filesize 1024000){ 
            
$sizekb round(filesize($path.$file)/1024,2).' Kb';
        }else{
            if(
$filesize 1024000){ 
                
$sizekb round(filesize($path.$file)/1024000,2).' Mb';
            }          
        }
    }
    echo(
'<a href="'.$file.'">&nbsp;'.$file.'</a> @ '.$sizekb.'<br>'); 

  }
}
closedir($dir) ; 
  #8 (permalink)  
Antiguo 16/09/2005, 16:38
Avatar de Vaalegk  
Fecha de Ingreso: abril-2005
Mensajes: 154
Antigüedad: 12 años, 8 meses
Puntos: 2
disculpa, postie sin haberlo terminado, jeje

Código PHP:
$total=0;
$sizekb 0.0 ;
$sizemb 0.0 ;
$path='C:/';   //Adicion
$dir=opendir($path);
while (
$file readdir($dir))
{
  if(
$file != "index.php" AND $file != "" AND $file != "." AND $file != ".." && !is_dir($path.$file)) {
    
$total++;
    
$filesize=filesize($path.$file); //poner el path
    
$sizekb='';
    if(
$filesize 1024){ 
        
$sizekb $filesize.' bytes';
    }else{
        if(
$filesize 1024  && $filesize 1024000){ 
            
$sizekb round($filesize/1024,2).' Kb';
        }else{
            if(
$filesize 1024000){ 
                
$sizekb round($filesize/1024000,2).' Mb';
            }          
        }
    }
    echo(
'<a href="'.$file.'">&nbsp;'.$file.'</a> @ '.$sizekb.'<br>'); 
  }
}
closedir($dir) ; 
  #9 (permalink)  
Antiguo 16/09/2005, 17:26
Avatar de ADIÓS_ADRIANA  
Fecha de Ingreso: septiembre-2005
Mensajes: 263
Antigüedad: 12 años, 3 meses
Puntos: 0
Gracias y un Ultimo Favor...

Cita:
Iniciado por Vaalegk
disculpa, postie sin haberlo terminado, jeje
Sos un Master.

Un último "Ajuste" que no sé si sea posible:

Se podría ver la fecha del Archivo ?

supongo que la fecha de creación del archivo en el directorio o la fecha de creación del propio Archivo ?


Gracias.
  #10 (permalink)  
Antiguo 16/09/2005, 17:38
Avatar de Vaalegk  
Fecha de Ingreso: abril-2005
Mensajes: 154
Antigüedad: 12 años, 8 meses
Puntos: 2
bueno hay 3 funciones
fileatime($filename) te devuelve la ultima fecha en la que el file fue accesado
filectime($filename) te devuelve la ultima fecha en la que el file fue cambiado
filemtime($filename) te devuelve la ultima fecha en la que el file fue modificado
la diferencia entre filectime y filemtime depende de como el SO trate estos eventos,
pero si lo que quieres es crear un campo de "Ultima Modificacion" usa filemtime

ademas debes saber que estas funciones te devuelven un timestamp asi que debes usar "date" para formaterar el resultado

te aconsejo bajar la referencia de PHP en esta dir, contiene todas las funciones, sus parametros, ejemplos y comentarios de usuarios, muy pero muy instructiva.
aqui esta el Link
http://www.php.net/download-docs.php
bajate el que dice extended
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:20.