При копировании файла с использованием PHP:
$result = copy( 'C:\xampp\htdocs\MISCELLANEOUS\Test\FilesAndFolders.php', 'C:\xampp\htdocs\MISCELLANEOUS\Test\backups\FilesAndFolders_version1.php' ); echo $result;
Временная метка даты создания файла правильно отражает время, когда файл копируется первоначально. Однако, если скопированный файл удален и операция копирования выполняется снова с использованием того же самого имени для файла резервной копии, созданная дата отражает время, когда файл был скопирован в первый раз, а не в последующие моменты времени.
Например, когда … backups \ FilesAndFolders_version1.php был впервые создан, у этого файла была дата, созданная с 26.06.2012 до 20:36. После удаления этого файла и повторного его копирования в 9:03 вечера, файл Дата создания еще сказал, что 8/26/2016 8:36 PM (время должно быть до 9:03 вечера). Почему не время обновляется до фактического времени последующей операции копирования? Есть ли способ заставить его обновить?
Дополнительная информация
Даже после перезагрузки системы это поведение одно и то же: отметка времени не будет обновляться. Операционная система ОС – Windows 7.
Выполнение копирования / вставки из проводника Windows показало то же поведение. Это исключало возникновение проблемы с PHP-кодом. Удаление папки «backups», а затем ее повторное создание позволило обновить дату создания скопированного файла при первом копировании файла, но не последующих операциях копирования после удаления файла резервной копии.
Это можно было воспроизвести на другом ПК с Windows 7.
Это поведение связано с файловой системой, а не с PHP, и это фактически преднамеренно. Это называется «туннелирование файловой системы», и можно отключить поведение. См. Эту ссылку для получения более подробной информации: https://superuser.com/questions/715536/wrong-date-created-for-files-in-windows-when-copying-files-if-the-file-has-alre