2011-02-04 18 views

Respuesta

10

¿Hay alguna manera de copiar un archivo sin actualizar la última fecha de modificación?

Probablemente no, pero puede usar touch() para modificar el tiempo de regreso al valor deseado.

+1

Gracias. Con copy() + touch() + filemtime(), toma ~ 30% más que simplemente copy(). – LazNiko

3

puede utilizar filemtime() para obtener la última fecha de modificación y luego toque() para modificar la última fecha de modificación/hora

2

Una sugerencia de las anotaciones de documentación de PHP para 'copia' sugiere utilizar el comando exec() para invoque 'xcopy' para realizar la copia. Esto funcionó para mí, pero me gusta más la solución de copiar y tocar. Estoy comparando mtimes ya, así que no hay retraso en el rendimiento agregado para eso. No lo he probado, pero supongo que 'cp' funcionará en * nix.

12
function copydt($pathSource, $pathDest) { // copy(), same modification-time 
    copy($pathSource, $pathDest) or return FALSE; 
    $dt = filemtime($pathSource); 
    if ($dt === FALSE) return FALSE; 
    return touch($pathDest, $dt); 
} 
Cuestiones relacionadas