2011-02-04 11 views

risposta

10

Esiste un modo per copiare un file senza aggiornare la data dell'ultima modifica ??

non

Probabilmente, ma è possibile utilizzare touch() per modificare il tempo di nuovo al vostro valore desiderato.

+1

Grazie. Con copy() + touch() + filemtime(), ci vuole circa il 30% in più rispetto a copy(). – LazNiko

3

è possibile utilizzare filemtime() per ottenere la data dell'ultima modifica e quindi toccare() per modificare la data dell'ultima modifica/ora

2

un suggerimento del annotazioni documentazione di PHP per 'copia' suggerisce di utilizzare il comando exec() per invocare 'xcopy' per eseguire la copia. Questo ha funzionato per me, ma mi piace la soluzione di copia/tocco. Sto già confrontando i tempi, quindi non è stato aggiunto alcun ritardo nelle prestazioni. Non l'ho provato, ma presumo che 'cp' funzionerà su * 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); 
} 
Problemi correlati