Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/279.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 - Fatal编程技术网

Php 如何创建可以跨不同平台读取的基于web的文件管理器?

Php 如何创建可以跨不同平台读取的基于web的文件管理器?,php,Php,我想尝试创建一个可以在我的机器上读取的PHP web文件管理器。由于我有两台PC和笔记本电脑,我想创建一个中央存储来存储我的文件、文档等。因此,我想创建一个基于web的文件管理器,以满足我的需要。我知道有一些免费的开源web文件管理器,但我想创建自己的,这样我就可以相应地进行调整 因此,我有一些关于如何创建用于此目的的文件管理器的问题: 1由于我有mac和win两种机器,我的文件管理器如何能够访问不同的平台,以及读取共享或便携式驱动器 2我已经完成了生成文件/文件夹的工作: // declare

我想尝试创建一个可以在我的机器上读取的PHP web文件管理器。由于我有两台PC和笔记本电脑,我想创建一个中央存储来存储我的文件、文档等。因此,我想创建一个基于web的文件管理器,以满足我的需要。我知道有一些免费的开源web文件管理器,但我想创建自己的,这样我就可以相应地进行调整

因此,我有一些关于如何创建用于此目的的文件管理器的问题:

1由于我有mac和win两种机器,我的文件管理器如何能够访问不同的平台,以及读取共享或便携式驱动器

2我已经完成了生成文件/文件夹的工作:

// declare the folder
$directory = "./";

// prepare to read directory contents
$dir = @opendir($directory);

// loop through the items
while ($file = readdir($dir))
{
    // check if it is a dir
    if (is_dir($file))
    {
        echo "dir: $file <br />";   
    } else {

        echo "file: $file <br />";  
    }

}

closedir($dir);
如何为这些文件等创建链接

多谢各位

How do I create the links for these files etc?
如果文件位于web根目录下,您可以直接链接到它们,但不能通过web直接链接到PC上的任何文件。这将带来各种各样的安全问题

您可以改为链接到一个PHP脚本,该脚本将实现对文件的某种形式的访问控制。要从PHP脚本发送文件,请使用header函数设置适当的mime类型,并使用readfile函数发送文件


在实现一个可移植的通用文件管理器时涉及到大量的细节,例如如何处理Unix符号链接或Windows驱动器号。在一个Stackoverflow问题中无法涵盖太多内容。

不同平台的PHP文件/目录函数没有实际差异。readdir可以

然而,我会为雄心勃勃的人推荐Horde VFS。在梨上,还要寻找部落项目

它使用统一的API提供不同的后端。它允许浏览远程文件FTP或SSH以及本地内容。它还可以允许虚拟后端,例如数据库浏览。我不确定它是否有多大作用,但如果存在差异,它也应该隐藏Mac和Win文件系统之间的差异

至于链接,只需将它们作为echo输出,并注意向视图脚本添加一些逻辑。特别是安全预防措施,使其无法在文档根目录之外读取