Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何使用web文件管理器浏览服务器文件夹_Php_Linux_File Manager_Kcfinder - Fatal编程技术网

Php 如何使用web文件管理器浏览服务器文件夹

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 文件夹的默认设置保持如下:

我需要一个能够在服务器上导航给定目录树的web文件管理器。我能找到的最好的解决方案是免费的,只要我能读到现在,就被认为是可靠的

因此,我下载了最新的稳定版本(3.12),并在我的服务器上进行了基本安装

我只是在运行Linux Debian+Apache+PHP5的机器上复制了wwwroot中的整个kcfinder-3.12文件夹,然后修改了
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或多或少给出了一个解决方案,我将接受这个答案。无论如何,不要低估皮迪奥的力量@任何人