2015-11-25 4 views
1

Я не смог заставить ее работать. Я могу изменить время изменения файла, но с папкой ничего не происходит, и функция всегда возвращает true.Изменить дату создания папки с PHP

Платформа: 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"; 
+0

любые ошибки? увидеть, если отчет об ошибках откидывает ничего http://php.net/manual/en/function.error-reporting.php –

+0

Нет ошибок, папка просто не изменить дату – NotthingCtrl

ответ

0

Я не уверен, если вы просите для изменения даты изменения, или попросив даты создания. Для даты изменения папки следующий код работает отлично. Проверьте, не ошибаетесь ли вы, что time не задан в одной из переменных!

<?php 

$link = "SomeFolder"; 

//Set 2 hours back 
$time = time() - 7200; 

if (touch($link, $time)) { 
    return true; 
} else { 
    return false; 
} 
?> 
+0

ааа, очень жаль, мой плохой, после времени папки изменения, Я создаю в нем новый файл, поэтому время сразу меняется. – NotthingCtrl

+0

@NotthingCtrl, это следствие NTFS, а не PHP. Если вы сделали это на разделе FAT (например, флэш-накопитель, карта памяти, RAM-диск и т. Д.), То он не будет обновлен. – Synetech

Смежные вопросы