Foros del Web » Programando para Internet » PHP »

Listar un directorio con fecha y propietario del archivo

Estas en el tema de Listar un directorio con fecha y propietario del archivo en el foro de PHP en Foros del Web. Hola, estoy realizando un sistema en el que necesito listar un directorio que contiene únicamente archivos .php. Código PHP: <?php  session_start (); ?> <!DOCTYPE html> <html> ...
  #1 (permalink)  
Antiguo 24/07/2011, 09:25
 
Fecha de Ingreso: abril-2011
Ubicación: España, Mdrid
Mensajes: 89
Antigüedad: 13 años
Puntos: 1
Listar un directorio con fecha y propietario del archivo

Hola, estoy realizando un sistema en el que necesito listar un directorio que contiene únicamente archivos .php.

Código PHP:
<?php 

session_start
();



?>

<!DOCTYPE html>

<html>

<head>

<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" >

<link rel="stylesheet" type="text/css" href="/../../../estilos/estiloadmin.css"></link>

<title>Musicaendo - Listado canales de los usuarios</title>


</head>

<body>

<!-- CABEZA -->

<div id="cabecero">

<div id="menu">

<div id="tabla">

    <ul>

<li><a href="http://www.forosdelweb.com/f18/manejo-cookies-como-marcar-como-visitado-directorio-ya-listado-931607/perfil/perfil.php" >Tu eres: <?php echo $_SESSION['nombre_usuario']; ?></a></li>    

<li><a href="http://www.forosdelweb.com/opciones/index.php" >Opciones</a></li>    

<li><a href="http://www.forosdelweb.com/usuarios/estadisticas.php" >Estadísticas</a></li>    

    </ul>

</div>

</div>

<div id="menu2">

<div id="tabla2">

    <ul>

<li>

<a href="http://www.forosdelweb.com/f18/articulos/canales/" id="especial">Volver a listado de canales</a>

</li>

<li>

<a href="./editor_canal" id="especial">Nuevo mensaje en este canal</a>

</li>     

    </ul>

</div>

</div>

</div>

<div id="contenido">

<div id="herramienta">

<div class="margen">

<?php



$dir
"./"


$mensaje_autor "";

$autor "";


$directorio=opendir($dir); 



$i=0



while (
$archivo readdir($directorio)) { 

    

if (
$archivo=="." || $archivo==".." || $archivo=="index.php" || $archivo=="editor_canal.php") { 



echo 
" "



}else{



$i++; 



$entradas[$archivo] = filemtime($dir."./".$archivo);

} } 

$mensaje_visitado "";

if(!
$_COOKIE['visitado']) {
    
$mensaje_leido "No visitado";
    }
    elseif(
$_COOKIE['visitado']==$dir."./".$archivo) {
    
$mensaje_visitado "Visitado";
    }



arsort ($entradas); 



closedir($directorio);



$i=0



foreach (
$entradas as $archivo => $timestamp) { 


if ( 
$i 1000 )

    {



?>    

<table  width="100%" border="1">

  <tr>

    <td width="25%" ><b>Título</b></td>
    <td width="25%"><b>Fecha</b></td>
    <td width="25%"><b>Visitado/No visitado</b></td>
    <td width="25%"><b>Autor</b></td>

  </tr>

  <tr>

    <td width="25%"><?php echo str_replace(".php""  ""<a  href=\"$dir$archivo\">$archivo</a>"); ?></td> 
    <td width="25%"><?php echo  $mensaje_autor ?></td>

    <td width="25%"><?php echo 'Publicado el '.date("d-m-y"$timestamp).' a las '.date("g:i a"$timestamp); ?></td>
    <td width="25%"><?php echo $mensaje_visitado ?></td>
    




  </tr>

  

</table><?php ?>





<?php



$i
++; 





}






?> 

</div>

</div>

</div>

</div>

</body>

</html>
Esto es todo lo que tengo, ya he conseguido listar el directorio y poner la fecha, pero lo del propietario no tengo ni idea. Podríais indicarme como puedo hacer que se muestren cada uno de los propietarios de los archivos.
He investigado un poco pero no he llegado a nada. Espero que me ayudéis y muchas gracias.
  #2 (permalink)  
Antiguo 24/07/2011, 09:28
Avatar de Artificium  
Fecha de Ingreso: enero-2011
Mensajes: 492
Antigüedad: 13 años, 3 meses
Puntos: 81
Respuesta: Listar un directorio con fecha y propietario del archivo

A ver, los archivos no tiene propietario a menos que tú inventes una forma de hacerlo. Y eso se puede conseguir con una base de datos o un archivo de que contenta información estructurada, para el caso sería XML. Recomiendo la base de datos al archivo por su fácil acceso. Solo investiga algo de esto: MySQL con PHP luego create una tablita, donde relacionarás el nombre del archivo con un propietario. Eso sería todo. Suerte!
  #3 (permalink)  
Antiguo 24/07/2011, 09:32
 
Fecha de Ingreso: abril-2011
Ubicación: España, Mdrid
Mensajes: 89
Antigüedad: 13 años
Puntos: 1
Respuesta: Listar un directorio con fecha y propietario del archivo

Cita:
Iniciado por Artificium Ver Mensaje
A ver, los archivos no tiene propietario a menos que tú inventes una forma de hacerlo. Y eso se puede conseguir con una base de datos o un archivo de que contenta información estructurada, para el caso sería XML. Recomiendo la base de datos al archivo por su fácil acceso. Solo investiga algo de esto: MySQL con PHP luego create una tablita, donde relacionarás el nombre del archivo con un propietario. Eso sería todo. Suerte!
Los archivos si que tienen propietario, sino para que sirve la función Chown. Estoy seguro que tienen propietario y se puede declarar pero no se como mostrarlo en la tabla. Gracias por responder de todos modos.
  #4 (permalink)  
Antiguo 24/07/2011, 09:37
Avatar de Artificium  
Fecha de Ingreso: enero-2011
Mensajes: 492
Antigüedad: 13 años, 3 meses
Puntos: 81
Respuesta: Listar un directorio con fecha y propietario del archivo

Ah vaya, entonces estás usando Linux. No me lo esperaba, no puedo ayudarte al respecto.
  #5 (permalink)  
Antiguo 24/07/2011, 10:49
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 2 meses
Puntos: 260
Sonrisa Respuesta: Listar un directorio con fecha y propietario del archivo

Hola,

http://www.php.net/manual/es/ref.filesystem.php

Saludos,
  #6 (permalink)  
Antiguo 24/07/2011, 11:38
 
Fecha de Ingreso: abril-2011
Ubicación: España, Mdrid
Mensajes: 89
Antigüedad: 13 años
Puntos: 1
Respuesta: Listar un directorio con fecha y propietario del archivo

Cita:
Iniciado por HackmanC Ver Mensaje
Eso me lo he mirado mucho antes de preguntar. Si lo pregunto es por que me podéis decir "algo distinto".
  #7 (permalink)  
Antiguo 24/07/2011, 11:50
Avatar de hackjose  
Fecha de Ingreso: abril-2010
Ubicación: Edo Mexico
Mensajes: 1.178
Antigüedad: 14 años
Puntos: 131
Respuesta: Listar un directorio con fecha y propietario del archivo

Para el propietario esta la funcion fileowner pero necesitas la funcion posix_getpwuid para interpretar el propietario ps meramente yo hice una pregunta pareida se llama funcion posix_getpwuid indefinida
  #8 (permalink)  
Antiguo 24/07/2011, 12:04
 
Fecha de Ingreso: abril-2011
Ubicación: España, Mdrid
Mensajes: 89
Antigüedad: 13 años
Puntos: 1
Respuesta: Listar un directorio con fecha y propietario del archivo

Cita:
Iniciado por hackjose Ver Mensaje
Para el propietario esta la funcion fileowner pero necesitas la funcion posix_getpwuid para interpretar el propietario ps meramente yo hice una pregunta pareida se llama funcion posix_getpwuid indefinida
Muchas gracias! Lo intentaré implementar.
  #9 (permalink)  
Antiguo 24/07/2011, 13:38
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 2 meses
Puntos: 260
Sonrisa Respuesta: Listar un directorio con fecha y propietario del archivo

Hola,



Cita:
Iniciado por GuillermoM Ver Mensaje
Eso me lo he mirado mucho antes de preguntar. Si lo pregunto es por que me podéis decir "algo distinto".
http://www.php.net/manual/es/ref.filesystem.php

filemtime — Obtiene el momento de la última modificación de un archivo
fileowner — Obtiene el propietario de un archivo
fileperms — Obtiene los permisos de un archivo

fileowner

(PHP 4, PHP 5)

fileowner — Obtiene el propietario de un archivo

Valores devueltos

Devuelve el ID de usuario del propietario del archivo, o FALSE en caso de error. El ID de usuario es devuelto en formato numérico, use posix_getpwuid() para resolverlo a un nombre de usuario.



Saludos,

Etiquetas: directorio, fecha, listar, propietario
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 16:56.