2011-07-25 14 views
6

¿Hay alguna forma de encontrar el tiempo creado de un directorio en php? Lo intenté filectime pero eso solo funciona en los archivos.PHP get create time of directory

+8

* (sidenote) * 'filectime' es * hora de cambio * en Linux. Solo en Windows devuelve el tiempo de creación. – Gordon

Respuesta

6

Se debe trabajar para directorios, esto es lo que me sale:

$ php -r "echo filectime(__DIR__);" 
1311596297 
+3

Gracias, resulta que tenía la ruta incorrecta a las carpetas especificadas. – sumo

4

En UNIX una carpeta es también un archivo. Por lo que debe trabajar para eso también

$folder = 'includes'; 

echo date ("F d Y H:i:s.", filemtime($folder)); 

salida es

October 06 2010 20:20:58. 
3

Puede utilizar el PHP stat function:

reúne los datos del fichero indicado por filename. Si filename es un enlace simbólico, las estadísticas provienen del archivo en sí, no del enlace simbólico.

muestra:

<?php 
    $stat = stat('/your/path'); 
    echo $stat['ctime']; 
?> 

Se devuelve la hora de crear como marca de tiempo Unix.

0

if (dosis no funciona) prueba clearstatcache(); antes de su filectime función;

0
$filename='dirname'; 
date ("F d Y H:i:s.", filectime($filename)) 

funcionará.

0

probar esto

$filename = 'media/';

echo "$filename was created modified: " . date ("F d Y H:i:s.", filectime($filename));

0

He probado tanto el filectime() y filemtime() en un servidor Linux y trabajo correctamente en directorios, también, en el sentido de que regresen una marca de tiempo.

Entonces, traté de conseguir la última fecha de modificación de un directorio, el cambio de nombre a través de FTP y luego de comprobar de nuevo, y aquí está la extraña cosa que sucedió:

  1. la fecha de creación de marca de tiempo se actualiza con la hora
  2. la última fecha de modificación no se ha actualizado en absoluto

Creo que esto puede haber ocurrido debido a la manipulación de archivos por FTP, en lugar de una manipulación directa a través de la línea de comandos o la interfaz gráfica del sistema.

En Windows, tanto la fecha de creación como la última fecha de modificación no cambian al cambiar el nombre de un directorio.

Para sus pruebas, también sugiero que eche un vistazo a la función clearstatcache() (que también utilicé en mi prueba) para borrar la caché de PHP de la información del sistema de archivos.