Как изменить дату папки на сервере?

Статус
В этой теме нельзя размещать новые ответы.

e64f

Постоялец
Регистрация
2 Ноя 2008
Сообщения
95
Реакции
6
Через ftp программно заливаю файлы в папку на web сервер и после этой операции изменяется дата папки.

Вопрос №1, как вернуть дату изменения папки? Интересует именно дата папки, время изменения файлов изменять умею .

Могу делать все что угодно через ftp, и могу закачать любой php скрипт и запустить его.

Вопрос №2, как получить дату папки? Проблема в том что известные мне методы показывают дату в виде Mart 17 18:34:25 - т.е. без года.
 
по второму вопросу есть у команды ls один ключик:
ls -l --time-style=long-iso
или тоже но в php
Код:
<?php
echo passthru("ls -l --time-style=long-iso");
?>
 
Через ftp программно заливаю файлы в папку на web сервер и после этой операции изменяется дата папки.

Вопрос №1, как вернуть дату изменения папки? Интересует именно дата папки, время изменения файлов изменять умею .

Могу делать все что угодно через ftp, и могу закачать любой php скрипт и запустить его.

Вопрос №2, как получить дату папки? Проблема в том что известные мне методы показывают дату в виде Mart 17 18:34:25 - т.е. без года.

В какой системе меняешь дату? Windows, Linux? Удаленно или на своем компьютере? Чем хочешь менять дату? Командами ftp или через php?
 
В какой системе меняешь дату? Windows, Linux? Удаленно или на своем компьютере? Чем хочешь менять дату? Командами ftp или через php?

Система линукс (разновидности)
Удаленно
Не важно ftp или php - важно чтобы делать это программно (язык php)
 
bool touch ( string $filename [, int $time [, int $atime ]] )


Пытается установить время доступа и модификации файла с именем filename в значение time . Если аргумент time не указан, используется текущее время. Это эквивалентно тому, что делает функция utime (иногда её называют utimes). Если третий аргумент atime передан, время доступа указанного файла будет установлено в значение atime . Обратите внимание, что время доступа изменяется всегда, независимо от количества аргументов.

Если файл не существует, он будет создан. Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

применимо и для папок...
 
bool touch ( string $filename [, int $time [, int $atime ]] )
применимо и для папок...

С чего вы взяли, что применимо и для папок? я вот пробовал для папки, выдает ошибку.

Warning: touch() [function.touch]: Utime failed: Operation not permitted in /home/site.ru/web/run.php on line 4

<?php
define("SELF", dirname(__FILE__)."/");
echo SELF;
touch(SELF."images/", time()-5*24*60*60);
?>
 
может это от настроек сервера зависит?
права на папку?
у меня этот скрипт работает
Код:
<?php
echo passthru("mkdir tmp/test");
echo passthru("ls tmp -l --time-style=long-iso");
touch("tmp/test", time()- 5*24*60*60);
echo passthru("ls tmp -l --time-style=long-iso");
echo passthru("touch tmp/test -d 2009-02-14");
echo passthru("ls tmp -l --time-style=long-iso");
?>
вот результат его работы
Код:
total 4
drwxr-xr-x 2 www-data www-data 4096 2009-03-17 21:12 test
total 4
drwxr-xr-x 2 www-data www-data 4096 2009-03-12 21:12 test
total 4
drwxr-xr-x 2 www-data www-data 4096 2009-02-14 00:00 test
 
может это от настроек сервера зависит?
права на папку?
у меня этот скрипт работает

Конечно зависит от настроек ))
Права на папку пробовал ставить разные 0777 0755.
Вижу что владелец файла у вас www-data.
Сообщите от какого пользователя работает Apache?

И еще вопрос, если хостер запрещает выполнять команды
touch tmp/test -d 2009-02-14
то наверное и в php функция touch работать не будет?
 
Конечно зависит от настроек ))
Права на папку пробовал ставить разные 0777 0755.
права хоть 777 , ты должен быть владельцем папки
воть:
Код:
total 4
drwxrwxrwx 2 user1 user1 4096 2009-02-14 00:00 test
<br />
<b>Warning</b>:  touch() [<a href='function.touch'>function.touch</a>]: Utime failed: Operation not permitted in <b>/var/www/ls.php</b> on line <b>6</b><br />
total 4
drwxrwxrwx 2 user1 user1 4096 2009-02-14 00:00 test
total 4
drwxrwxrwx 2 user1 user1 4096 2009-02-14 00:00 test
ниодна операция не прошла

Вижу что владелец файла у вас www-data.
Сообщите от какого пользователя работает Apache?
Да, это тот самый юзер от которого запущен апач.
Т.к. папку создает сам скрипт, то и владелец - апач
 
  • Нравится
Реакции: e64f
А я блин через ftp создавал папку!
Похоже в этом была моя ошибка.

Обидно, что на многих хостингах процесс апача и мой ftp аккаунт, это абсолютно разные пользователи.

Вопрос закрыт.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху