Модератор: Модераторы разделов
sidd
Сообщения: 667
ОС: Slackware 13.37
Сообщение
sidd » 18.07.2009 06:18
Когда я в PHP с помощью функции
exec выполняю команду
ls , получаю результат вроде этого:
-rw-r--r-- 1 sidd users 1.8G Jun 29 23:32 Dead Man.avi
-rw-r--r-- 1 sidd users 634M Nov 2 2007 From Dusk Till Down.avi
-rw-r--r-- 1 sidd users 1.4G Apr 20 13:57 Gangs of New York.avi
-rw-r--r-- 1 sidd users 1.4G Jun 30 22:40 Goodfellas.avi
Но он почему-то выглядит немного не так, как в обычном терминале с запущенным bash'ем. Вот аналогичный результат этой же конманды из терминала:
-rw-r--r-- 1 sidd users 1.8G 2009-06-29 23:32 Dead Man.avi
-rw-r--r-- 1 sidd users 634M 2007-11-02 19:49 From Dusk Till Down.avi
-rw-r--r-- 1 sidd users 1.4G 2009-04-20 13:57 Gangs of New York.avi
-rw-r--r-- 1 sidd users 1.4G 2009-06-30 22:40 Goodfellas.avi
Форматы дат отличаются. А мне нужно, чтоб было именно как во втором варианте. Кто-нибудь знает, как добиться этого?
Patrick is God.
pcodr
Сообщения: 283
ОС: Debian
Сообщение
pcodr » 18.07.2009 07:26
Попробуйте ls --full-time
remote system type is unix
sidd
Сообщения: 667
ОС: Slackware 13.37
Сообщение
sidd » 18.07.2009 17:28
pcodr , спасибо
Patrick is God.
oxd
Сообщения: 165
Сообщение
oxd » 18.07.2009 18:32
интересно. а скрипт откуда запускается?
Товарищ стой! Сожми покрепче маузер!
Не дай предателю мимо пройти!
Он променял консоль на браузер.
Таким не место в сфере IT!
sergio
Сообщения: 436
Статус: Интересующийся новичок
ОС: Debian GNU/Linux 4 & 5
Сообщение
sergio » 18.07.2009 19:24
sidd писал(а): ↑ 18.07.2009 06:18
Когда я в PHP с помощью функции
exec выполняю команду
ls , получаю результат вроде этого:
-rw-r--r-- 1 sidd users 1.8G Jun 29 23:32 Dead Man.avi
Но он почему-то выглядит немного не так, как в обычном терминале с запущенным bash'ем. Вот аналогичный результат этой же конманды из терминала:
-rw-r--r-- 1 sidd users 1.8G 2009-06-29 23:32 Dead Man.avi
Форматы дат отличаются. А мне нужно, чтоб было именно как во втором варианте. Кто-нибудь знает, как добиться этого?
Сделайте в терме
$ LC_ALL=C ls
и получите тот же результат, что из-под пхп.
Результаты разные потому, что локаль у вас стоит и баш ее учитывает есессно. В пхп локали тоже переключались как будто. Но в вашем случае полагаю правильнее --фул-тайм.
Код: Выделить всё
$ locale
LANG=ru_RU.UTF-8
LC_CTYPE="ru_RU.UTF-8"
LC_NUMERIC="ru_RU.UTF-8"
LC_TIME="ru_RU.UTF-8"
LC_COLLATE="ru_RU.UTF-8"
LC_MONETARY="ru_RU.UTF-8"
LC_MESSAGES="ru_RU.UTF-8"
LC_PAPER="ru_RU.UTF-8"
LC_NAME="ru_RU.UTF-8"
LC_ADDRESS="ru_RU.UTF-8"
LC_TELEPHONE="ru_RU.UTF-8"
LC_MEASUREMENT="ru_RU.UTF-8"
LC_IDENTIFICATION="ru_RU.UTF-8"
LC_ALL=
Про --full-time вам сказали. Правда, там немножко свой формат, сильно full.
А вообще-то в пхп и функции для работы с файлами есть.
Debian GNU/Linux 4 -- AMD Athlon64 3000+ / Asus 7600GS -- Gnome
Debian GNU/Linux 5 -- Dell (Vostro) 500 (Celeron M560 / iGM965) -- Gnome