这是场景。我有一个简单的浏览按钮。现在,它打开了我本地计算机上的文件夹层次结构。 (PC)。
但是,我想从我有权访问的远程unix服务器中选择一个文件。有没有办法显示远程unix服务器的文件层次结构而不必安装驱动器?
除了使用java applet之外还有其他选择吗?
谢谢,
迈克尔
答案 0 :(得分:1)
如果你真的不想要一个applet,你可以在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。
答案 1 :(得分:0)
不知道它在Unix中是怎么回事,但在Windows中,您可以将驱动器号映射到远程路径,或者只需在浏览对话框中键入远程路径(\\server\share\filename
)
答案 2 :(得分:0)
不使用常规输入类型文件,而是调用Java小程序。您可以使用apache中的VFS来访问UNIX计算机。 VFS API支持许多文件访问协议 http://commons.apache.org/vfs/filesystems.html
答案 3 :(得分:0)
我的一位朋友推荐Samba: http://us3.samba.org/samba/
它显然允许您将unix服务器链接为Windows文件/打印服务器,它应该显示在文件浏览器中。 :)
答案 4 :(得分:0)
我不知道为什么;我在solaris机器上安装任何东西都有很多困难。所以我决定采用稍微不同的路线 - 我发现机器已经正确安装,因此我可以简单地切换用户帐户以访问我需要的内容 - 无需SSH。