Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.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中存储文件结构_Php_Mysql_File_Structure - Fatal编程技术网

在PHP中存储文件结构

在PHP中存储文件结构,php,mysql,file,structure,Php,Mysql,File,Structure,存储文件结构和文件(比如Zip文件)的最佳方式是什么?目前,每个文件都是MySQL数据库中的一行,但显然无法从中读取任何结构。我想避免存储二进制文件。所有文件都应该是纯文本。每个zip/文件结构对于提交它的用户都是私有的。如果您想要这种结构,您可以有一个目录表和一个文件表。那么根目录中的每个目录的父id都将为0。然后,该目录下的每个目录都有其父目录的父id 然后给文件目录id以指示它们的位置。如果需要结构,可以有一个目录表和一个文件表。那么根目录中的每个目录的父id都将为0。然后,该目录下的每个

存储文件结构和文件(比如Zip文件)的最佳方式是什么?目前,每个文件都是MySQL数据库中的一行,但显然无法从中读取任何结构。我想避免存储二进制文件。所有文件都应该是纯文本。每个zip/文件结构对于提交它的用户都是私有的。

如果您想要这种结构,您可以有一个目录表和一个文件表。那么根目录中的每个目录的父id都将为0。然后,该目录下的每个目录都有其父目录的父id


然后给文件目录id以指示它们的位置。

如果需要结构,可以有一个目录表和一个文件表。那么根目录中的每个目录的父id都将为0。然后,该目录下的每个目录都有其父目录的父id

然后给文件目录id以指示它们所在的位置。

最简单的方法(也许不是最好的)是确定您要查找的目录树的“根”文件夹,然后在每个文件上获取相对于该文件夹的路径,并将其存储为db表中的另一列(例如“路径”)。您可以稍后查看这些值来构建相同的目录结构。

最简单的方法(可能不是最好的)是确定您要查找的目录树的“根”文件夹,然后在每个文件上获取相对于该文件夹的路径,并将其存储为db表中的另一列(例如“路径”)。您可以稍后查看这些值以构建相同的目录结构。

最好是上下文。但从表面上看,我认为存储文件结构的最佳方式是在文件系统中。除非您需要将条目与其他记录链接在一起或以其他方式查询它们,否则关系数据库不是任意层次数据的最佳选择。 您也可以使用混合解决方案,在数据库中保留索引、文件路径和一些元数据,但仍将其存储在文件系统中。

最好是上下文。但从表面上看,我认为存储文件结构的最佳方式是在文件系统中。除非您需要将条目与其他记录链接在一起或以其他方式查询它们,否则关系数据库不是任意层次数据的最佳选择。
您也可以使用混合解决方案,在数据库中保留索引、文件路径和一些元数据,但仍将其存储在文件系统中。

我的建议与Ólafur Waage的建议类似,不过我会使用一个表,带有指示列来表示记录的“类型”

id - Primary Key
parent_id - FK to self (id)
type - enum('D', 'F')
name - varchar
content - BLOB (if you wanted to ever store the file contents).

这遵循一个分层树结构,对于MySQL,您可以在这里找到其他信息:

我的建议与Ólafur Waage的建议类似,不过我会使用一个表,带有指示列来表示记录的“类型”

id - Primary Key
parent_id - FK to self (id)
type - enum('D', 'F')
name - varchar
content - BLOB (if you wanted to ever store the file contents).

这遵循一个分层树结构,对于MySQL,您可以在此处找到其他信息:

此解决方案的另一个好处是,只需很少的努力,即可创建包含子目录的目录列表。此解决方案的另一个好处是,只需很少的努力,即可创建包含子目录的目录列表。请参阅更多详细信息。你在用这些文件做什么?他们的目的是什么?请提供更多细节。你在用这些文件做什么?他们的目的是什么?