| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Сеть > Залить папку по фтп |
| Автор: luinel 10.5.2006, 15:34 |
| Я наверное уже всех достала, особенно Mal Hack Не могу выделить при заливке по фтп папку, если не указывать точно путь, ничего не получается. А как сделать что бы каждый юзер сам мог путь указывать- не пойму. |
| Автор: Mal Hack 10.5.2006, 17:49 |
| Модератор: думаю Вам не надо объяснять, что FTP - сетевой протокол, а следовательно тему надо было создавать в соответствующем форуме !!! Где, как, куда выделить? Если ты имеешь ввиду виделение папки и ее аплод из окошка, которое вылезает у клиента после нажатия на кнопочку Обзор, то так нельзя в принципе. |
| Автор: luinel 10.5.2006, 18:47 |
| Я знаю что нельзя нажав кнопочку выделить папку, есть ли какаято возможность одним скриптом сделать просмотр для клиента папок на его машине и выбор папки, потом передать путь к этой папке скрипту отрывающему фтп соединение. Я пока только сделала поле для ввода пути ручками, но это не удобно- гдето обязательно кто то ошибку сделает. Хотелось бы как с кнопкой обзор. З.Ы. Сори за раздел форума- в запарке не заметила |
| Автор: PARROT 10.5.2006, 18:52 |
| luinel, попробуй посмотреть тут: http://www.bondsoft.ru/index.php?id=6&id_doc=3&php=ftpserver |
| Автор: Mal Hack 10.5.2006, 19:02 | ||
НЕЛЬЗЯ ЭТО ПРОТИВОРЕЧИТ ПРОТОКОЛУ HTTP 1.1 !!! |
| Автор: luinel 10.5.2006, 19:06 |
| ТОгда что только путь ручками писать? |
| Автор: Mal Hack 10.5.2006, 20:31 |
| luinel, какой путь? Объясни в конце-конвов нормально что ты хочешь. |
| Автор: luinel 10.5.2006, 21:07 |
| мне надо сделать для клиента возможность загрузки на сервер папки. Сейчас все так: Я сделала форму в которой клиент пишет руками путь к папке которую хочет залить, потом нажимает кнопку и путь пересылается постом в скрипт который открывает фтп соединение с сервером.Скрипт получает путь к папке на машине клиента и загружает папку на сервер. А я хочу что бы клиент не писал путь руками а у него была возможность нажав обзор, просмотреть содержимое своего винта и выбрать нужную ему папку. И потом после нажатия сабмита путь к этой папке постом передастся в скрипт открывающий фтп соединение. |
| Автор: Mal Hack 10.5.2006, 21:16 | ||||
И что згружает? Серьезно чтоли?
Нельзя так сделать... Да и потом, не путай серверную и клиентскую часть. |
| Автор: S.A.P. 10.5.2006, 21:22 |
| JavaScript ом так список не получить. Если действительно есть FTP соединение от сервера к клиенту, то можно пойти обходным путём: сформировать список файлов на сервере заранее и на JavaScript написать какую - нибудь оболочку для выбора файла/папки из списка. Других решений я пока не вижу. |
| Автор: luinel 10.5.2006, 21:26 |
| А почему не должен загружать, я не путаю клиенскую часть и серверную- 1. ввели путь - при нажатии сабмита отправили на сервер и вызвали скрипт- фтп. 2. скрипт запустился со всеми нужными ему параметрами(путем к файлу у клиента, путем куда папку заливать). Пока не совсем правильно работает- папка пустая получается- но посижу и разберусь- главное что идея работает |
| Автор: Mal Hack 10.5.2006, 21:45 |
| luinel, либо ты ничего объяснить не можешь, либо не понимаешь элементарных вещей. Вот есть у пользователя папка на компе, а в ней файлы. Он хочет залить их на сервер. ВСЕ ПАПКУ ЗАЛИТЬ Н НЕ МОЖЕТ ЧЕРЕЗ HTTP СОЕДИНЕНИЕ, т.е. ЧЕРЕЗ БРАУЗЕР. Только через FTP соединение, открытое на машине пользователя к серверу. PHP тут НИКАК НЕ УЧАСТВУЕТ! !! |
| Автор: luinel 10.5.2006, 21:52 | ||
Но у пхп есть функции для создания фтп соединенрия, вот код скрипта который создает фтп соединение
Может я не могу просто толком объяснить |
| Автор: Mal Hack 10.5.2006, 21:56 | ||
ФТП соединение с ФТП сервером !!! Простой пользователь не есть ФТП сервер. И Используя эти функции ПХП скрипт становится как бы простым пользователем по отношению к удаленному ФТП серверу. |
| Автор: luinel 10.5.2006, 21:59 |
| Хорошо, когда я пишу $ftp_server=ftp.myhost разве я не подключаюсь к фтп серверу на моем хосте? Я совсем запуталась, а сдавать эту часть заказчику завтра |
| Автор: Mal Hack 10.5.2006, 22:05 |
| Когда ты так пишешь ты присваиваешь переменной значение имени ФТП сервера. Он может быть как там где и сайт, а может быть и другой. Но это не будет простой пользователь сети. |
| Автор: luinel 10.5.2006, 22:12 |
| Спасибо, я еще больше запуталась. Я знаю что на моем хосте есть фтп сервер и знаю его адрес. Могу ли я указав в скрипте имя фтп сервера его использовать, достаточно ли только указать имя. ftp_connect($ftp_server)- я функцией создаю соединение с фтп сервером или нет, после этого я могу использовать фтп протокол для загрузки папки на этот сервер? Может вопросы глупые- но я уже ничего не понимаю |
| Автор: Mal Hack 10.5.2006, 22:25 | ||||
Да, создаешь.
Какой папки? Которая у пользователя? Нет, т.к. твой скрипт не имеет к ней доступа, что, как мне кажется, вполне очевидно. |
| Автор: luinel 10.5.2006, 22:30 |
| Тогда что делает эта функция? ftp_put Производит загрузку файла на FTP-сервер. Синтаксис : int ftp_put(int ftp_stream, string remote_file, string local_file, int mode) Функция ftp_put() загружает файл на FTP-сервер под именем remote_file. |
| Автор: Mal Hack 10.5.2006, 23:04 |
| luinel, файл с твоего сервера из той его части, где может работать PHP на удаленный сервер. Слово "пользователь" сдесь где-ть мелькает? Нет. |
| Автор: luinel 11.5.2006, 06:30 |
| все, с утра все дошло- файл или папка должны быть уже на хосте, что бы скрипт-фтп мог к ним добраться. Но как тогда залить папку на сервер, заказчик руками и ногами упирается против архивирования папки. Он где то слышал что есть скрипты для заливки папки. Mal Hack - выручай- подскажи как быть. я уже письмо заказчику написала, что на сегодня не успеваю и вообще меня машина 5 раз переехала |
| Автор: Mal Hack 11.5.2006, 06:58 |
Вот этого сделать нельзя, т.к. тебе понадобится прочитать содержимое этой папки, а следовательно ты должна это сделать с любой папкой, что противоречит безопасности, и что не поддерживается браузерами. Тут единственный выход это сделать что-то вроде Java Appleta, который работает у клиента, и он бы читал папку и пересылал файлы, но это изврат. И я не думаю, что это т оже сработает. Надо у явистов спрашивать. Заказчику объясняй (шепотом: еще один дебил, который хочет изумрудный город (прим.: прошу прощения за свой французский)) что так невозможно сделать в принципе. |
| Автор: luinel 11.5.2006, 18:11 |
| Я пошла мучать людей в раздел JS , Mal Hack спасибо огромное что все таки достучался до остатков моих мозгов, несмотря на мое сопротивление |
| Автор: luinel 12.5.2006, 20:28 |
| Я нашла готовый скрипт, там не обошлось без Java, поэтому с чистой совестью содрала |