Кнопка загрузки файла для удаленных файлов - PullRequest
0 голосов
/ 11 июля 2009

Вот сценарий. У меня есть простая кнопка просмотра. Прямо сейчас, это открывает иерархию папок на моем локальном компьютере. (ПК).

Однако я хочу выбрать файл с удаленного сервера Unix, к которому у меня есть доступ. Есть ли способ отобразить файловую иерархию удаленного сервера Unix БЕЗ необходимости монтировать диск?

Есть ли другие варианты, кроме использования Java-апплета?

Спасибо
Michael

Ответы [ 5 ]

1 голос
/ 16 июля 2009

Если вам не нужен апплет, вы можете сделать это на стороне сервера в PHP, используя что-то вроде этого, чтобы позволить пользователю выбрать папку:

<?php
$connection = ssh2_connect('host', 22);
ssh2_auth_password($connection, 'username', 'password');

$stream = ssh2_exec($connection, 'ls -a --file-type');
?>

Просто проанализируйте переменную $stream, чтобы определить папки (заканчивающиеся на /) и представить их в таблице.

Полагаю, это решит вашу проблему. Если вы хотите, чтобы пользователь загружал файл, просто поместите простое поле загрузки файла. Как только пользователь выберет папку и загрузит файл во временную папку на сервере, просто переместите его также с помощью SSH:

<?php
$connection = ssh2_connect('host', 22);
ssh2_auth_password($connection, 'username', 'password');

ssh2_scp_send($connection, '/temporal/filename', '/remote/filename');
?>

Чтобы это работало, вам нужно иметь на своем сервере библиотеки SSH2 для PHP .

0 голосов
/ 17 июля 2009

Я не знаю почему; У меня было много трудностей с установкой чего-либо на машину Solaris. Поэтому я решил пойти немного по другому пути - я обнаружил, что машина уже правильно смонтирована, поэтому я могу просто переключать учетные записи пользователей для доступа к тому, что мне нужно - без SSH.

0 голосов
/ 16 июля 2009

Мой друг порекомендовал Samba: http://us3.samba.org/samba/

Очевидно, что он позволяет вам связать сервер Unix как сервер файлов / печати Windows, который должен отображаться в файловом браузере :)

0 голосов
/ 14 июля 2009

Вместо использования обычного файла типа ввода, вызовите апплет Java. Вы можете использовать VFS из apache для доступа к вашим машинам UNIX. VFS API поддерживает множество протоколов доступа к файлам.
http://commons.apache.org/vfs/filesystems.html

0 голосов
/ 11 июля 2009

Не знаю, как в Unix, но в Windows вы можете либо сопоставить букву диска удаленному пути, либо просто ввести удаленный путь в диалоговом окне обзора (\\server\share\filename)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...