2009-07-10 2 views
0

Вот сценарий. У меня есть простая кнопка обзора. Прямо сейчас он открывает иерархию папок на моем локальном компьютере. (ПК).Кнопка загрузки файла для удаленных файлов

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

Существуют ли другие варианты, кроме использования апплета java?

Спасибо,
Майкл

+0

У машины Unix установлен удаленный сервер; например, использует ли NFS? Определите «иметь доступ». – Jacob

+0

В настоящее время нет; но у меня есть корневой доступ ко всем машинам. Что я хочу - это типичная кнопка «Просмотр файла», которая вместо того, чтобы поднять рабочий стол Windows, вытаскивает путь к серверу unix. – Dirk

+0

Итак, вы хотите, чтобы кнопка обзора открывала диалог, содержащий иерархию файлов, существующих на веб-сервере? Если да, то какой серверный язык работает на веб-сервере? (Прошу прощения, если я полностью пропустил этот вопрос - не уверен, правильно ли я правильно понял ваш вопрос). –

ответ

0

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

0

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

0

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

+0

Хорошо, я проверю это и вставлю свой прогресс. – Dirk

1

Если вы действительно не хотите апплет вы можете сделать это на стороне сервера в 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'); 
?> 

Для получив эту работу, вам необходимо иметь enabled SSH2 libraries for PHP in your server.

+0

Вздохнув, проблемы с установкой на Solaris – Dirk

0

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

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

Смежные вопросы