Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > ftp_raw и du


Автор: s_a_s_h_a 4.5.2011, 18:04
необходимо получить правильный размер каталога через фтп.
пробовал:
Код

$answer = ftp_raw($conn_id,"du -sh /home/test/z");

получаю ответ Array ( [0] => 500 Unknown command. )
если так:
Код

$answer = ftp_site($conn_id,"du -sh /home/test/z");
и
$answer = ftp_site($conn_id,"/usr/bin/du -sh /home/test/z");

то Warning: ftp_site() [function.ftp-site]: Unknown SITE command

при этом такое работает:
Код

$answer = ftp_site($conn_id,"chmod 0777 /home/test/z")

фтп-клиент на сервере? либо с помощью данных функций можно запускать только ограниченное число команд? как еще можно с помощью фтп получить размер каталога кроме как обойти его?

Автор: gta4kv 4.5.2011, 18:12
а FTP клиенты разве не командной LIST получают список файлов и по одному считают из размер?

Автор: s_a_s_h_a 5.5.2011, 09:02
есть функция php - ftp_rawlist, есть команды ftp ls, nlist и dir, но размер абсолютно всех папок (если речь о сервере с линуксом) = 4096. Вариант с обходом каждого каталога и суммированием размера файлов известен. Вопрос: есть другие варианты? почему du не работает? я так подозреваю, что список доступных для выполнения команд для функции ftp_raw, можно посмотреть выполнив из консоли ftp сервера команду help. Вопрос по ftp_raw закрыт, но подожду... может кто-нибудь выскажет мнение как получить корректный размер директории на сервере с линуксом, используя только ftp

Автор: s_a_s_h_a 5.5.2011, 09:57
в общем, сделал рекурсивный обход. Тема закрыта.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)