Я не мог заставить это работать. Я могу изменить время модификации файла, но с папкой ничего не происходит и функция всегда возвращает true.
Платформа: Windows 10 64bit, PHP 5.5.12
Код:
$sync_from = "c:\\abc";
$sync_to = "d:\\abc";
//In c:\abc have a folder name: folder_a
$link = "d:\\abc\\folder_a";
//Create folder_a in d:\abc
mkdir($link);
//get time of source folder (c:\abc\folder_a)
$time = filemtime(str_replace($sync_to, $sync_from, $link));
//change time of just create folder
if (!touch($link, $time)) echo "Could not change modification time\r\n";
Я не уверен, что вы спрашиваете об изменении даты изменения или о дате создания. Для даты модификации папки следующий код работает отлично. Проверьте, если вы делаете какую-то ошибку time
не устанавливается в одной из переменных!
<?php
$link = "SomeFolder";
//Set 2 hours back
$time = time() - 7200;
if (touch($link, $time)) {
return true;
} else {
return false;
}
?>
Других решений пока нет …