Как передать пользователю файлы с сервера?

arlion

Guest
Как передать пользователю файлы с сервера?

Всем привет!

У меня собственно два вопроса на одну тему. Помогите, кто в этом разбирается. Я создаю базу данных. Написал все формы, скрипты обработки и дошел до этапа, когда выбранные файлы (их может быть несколько сотен) надо передать пользователю. На этом этапе я уже сижу вторые сутки.

Первый вопрос. У меня почему-то не работает ни одна из команд вида ftp_connect, ftp_login и прочее. Выдается ошибка - неизвестные функции. В чем может быть причина? Можно проверить по phpinfo()?

Второй вопрос. Я кладу в одну папку gzip.exe и файл для архивации (например file.txt). Пишу в PHP exec('gzip file.txt'). Не происходит ничего. Может gzip не подходит. Никто не посоветует версию архиватора. Операционная система - Linux serv99 2.4.27-2-686 #1 Mon May 16 17:03:22 JST 2005 i686. Если не версию, то метод или готовый скрипт. Сразу говорю - zlib не стоит.
 

arlion

Guest
Я не решил. Я как раз и спрашиваю, что использовать. Если ты через PHP что-то архивировал, то поделись опытом. А то я уже на грани. Какой способ не попробуешь, всюду какая-то засада.

-~{}~ 21.07.05 20:34:

Sheridan,
я PHPINFO просмотрел. У меня даже такого пункта нет FTP support. Другие есть: MySQL support, XML support, а про FTP ни слова. Это значит, что не поддерживает?
 

Profic

just Profic (PHP5 BetaTeam)
arlion
Я ничего не архивировал, но комманд из php наисполнялся :)
Прежде всего вначале замени exec() на system() - последняя покажет вывод ошибок от shell-а.
Далее на любом линухе этот самый gzip уже должен быть. Либо в /bin либо в /usr/bin.
Однако если хостинг с safe_mode=on, то врядли тебе удастся чего-нить вообще запустить. В таком случае - в сапорт хостинга.

Про ftp: да, не поддерживается - опять же в сапорт хостинга.
 

arlion

Guest
Safe_mode выключен. Я проверил. А такой вопрос. Я по твоему совету использовал system. Задал код

system('gzip file.txt', $errors);
echo "Errors = $errors";

Получил ответ: Errors = 1.

Что это значит? Ничего не исполнилось? Все исполнилось? Если все сработало, то где заархивированный файл? Может попробуешь то же самое на своей машине?

-~{}~ 21.07.05 21:08:

Кстати gzip у меня и правда стоит. В /bin.
 

Profic

just Profic (PHP5 BetaTeam)
Код возврата от gzip равный 1 означает что он не может прочитать файл. Для начала проверь, в том ли ты каталоге находишься. Странно, что оно не выдало сообщения об этом:
Код:
Profic@PROFIC-NBOOK ~
$ php
<?php
system('gzip file.txt', $errors);
echo "Errors = $errors";
?>
^Z
file.txt: No such file or directory
Errors = 1
Profic@PROFIC-NBOOK ~
$
 
Сверху