Php 如何使用web文件管理器浏览服务器文件夹
我需要一个能够在服务器上导航给定目录树的web文件管理器。我能找到的最好的解决方案是免费的,只要我能读到现在,就被认为是可靠的 因此,我下载了最新的稳定版本(3.12),并在我的服务器上进行了基本安装 我只是在运行Linux Debian+Apache+PHP5的机器上复制了wwwroot中的整个kcfinder-3.12文件夹,然后修改了Php 如何使用web文件管理器浏览服务器文件夹,php,linux,file-manager,kcfinder,Php,Linux,File Manager,Kcfinder,我需要一个能够在服务器上导航给定目录树的web文件管理器。我能找到的最好的解决方案是免费的,只要我能读到现在,就被认为是可靠的 因此,我下载了最新的稳定版本(3.12),并在我的服务器上进行了基本安装 我只是在运行Linux Debian+Apache+PHP5的机器上复制了wwwroot中的整个kcfinder-3.12文件夹,然后修改了kcfinder/conf/config.php,以便允许任何用户访问: 'disabled' => false 文件夹的默认设置保持如下:
kcfinder/conf/config.php
,以便允许任何用户访问:
'disabled' => false
文件夹的默认设置保持如下:
'uploadURL' => "upload",
'uploadDir' => "",
这将使我有权浏览、下载和上载位于子文件夹kcfinder/upload/
但是,当我运行应用程序时,它实际上只显示上述upload
文件夹中包含的子文件夹“files/”,尽管通过shell创建了许多其他文件夹
我知道这种行为来自类型设置:
'types' => array(
// (F)CKEditor types
'files' => "",
'flash' => "swf",
'images' => "*img",
// TinyMCE types
'file' => "",
'media' => "swf flv avi mpg mpeg qt mov wmv asf rm",
'image' => "*img",
),
但我不太清楚这些类别应该如何符合我的期望,以及如何允许我拥有一个基于web的文件浏览器,而不受从给定目录开始的限制
有人知道我做错了什么吗?有没有办法完全访问给定的目录?在这里,我谈到了KCFinder,但只要它满足我的要求,我就可以收听任何其他选项。一些可以做到这一点的事情:
1) 检查文件夹权限
2) 清除浏览器缓存并重新加载页面
3) 和文档中的配置:
'uploadDir' => "",
当KCFinder无法自动检测其到uploadURL设置中指定的文件夹的本地文件系统路径时,使用此设置。当KCFinder无法自动获取本地文件系统路径时,请更改此设置
'dirPerms' => 0755,
'filePerms' => 0644,
使用KCFinder创建的新文件和目录的默认文件系统权限。Windows服务器将跳过这些设置
更多信息请参见:您真正需要的是两件事:
1) 在web服务器上启用DAV扩展。这仅包括启用stock mod_dav模块
2) 使用任何基于DAV的文件管理器。见鬼,Android也有一个:
对于本机Linux,您不需要任何特殊的客户端软件。谷歌搜索表明,当前的Gnome和KDE桌面可以通过DAV协议本机访问远程文件。下面是谷歌随机推出的一个页面,并附有示例:
我确信有很多独立的DAV客户端,你可以通过DAV协议浏览你的web服务器,你可以自己用谷歌搜索它们
当然,这里有一些关于配置、安全性和权限的问题需要解决。您需要留出一些时间来翻阅mod_dav的文档,并准确地了解安全设置的工作方式。我以前尝试过这两种方法。。关于文件夹权限,我甚至运行了一个chmod-R 0777*kcfinder。但老实说,这种考虑应该让我现在更认真地思考。因为kcfinder可能希望某个用户是可浏览文件夹的所有者,这就是为什么直到现在,当我离开kcfinder决定由他创建“文件”文件夹时,它才正常工作的原因。所有其他奇怪的实验都可以向我展示完整的树,但在尝试访问单个节点时失败了。如果这是唯一的办法,那最终会有点令人沮丧。我无法更改目标文件夹的所有者。在这种情况下,uploadDir是没有意义的,因为它无论如何都可以工作。。如果不是“文件”,它就无法显示所有其他子文件夹。权限设置用于它创建的文件和目录,但我仍在处理浏览场景。为了完整起见,我想提醒大家,我说的是linux和ext3 fsNote 1:sudo chmod 777-R如果这样做,文件夹中的权限就不会有问题,因为所有人都可以访问。注意2-尝试定义权限:“dirPerms=>0777”,“filePerms=>0777,实际上,我应该运行这些东西的机器属于我工作的公司,我的用户没有运行sudo的权限。对于您建议的设置,我还是尝试了,但没有成功:一个简单的http服务器,支持下载:)不,这还不够,因为我需要一个功能齐全的文件管理器,它能够在任何任意目录上上传、下载和删除文件,甚至在wwwroot之外。无论如何,最终我发现Pydio完全适合我的需要,但最终该公司更愿意自己制作专有工具。让我感到奇怪的是,为什么没有人能给出如此简单的答案来让这笔赏金不费吹灰之力。其他的“文件夹”是符号链接吗?符号链接不是我的方案的一部分,尽管通常这是一个可能的选择。我使用符号链接只是为了愚弄kcfinder,所以它访问了目标文件夹,而他认为这是它的内部目录,名为fileah。无论如何,我现在才明白你问题的真正含义。。。不,我希望出现的那些“文件夹”没有符号链接。这不是我真正想要的,但在这一点上,它真的没有任何区别。赏金过期了,试图解决我的kcfinder问题的人无法确定真正的原因。我想我的问题对社区没有任何价值,因为它可能非常具体,很难使用我在描述中使用的输入进行诊断。因此,没有更多的理由继续讨论这个问题,既然webdav或多或少给出了一个解决方案,我将接受这个答案。无论如何,不要低估皮迪奥的力量@任何人