我想用php / mysql为我的文件创建flex / actionscript目录视图。我有一些想要分享的想法:
1)我正在考虑创建表(在mysql中)“文件”和另一个表“文件夹”,当用户插入i时,将需要来自“files”和“folders”的所有数据,其中Username ='something'。但问题是,我会在表格内创建很多条目。例如,如果我有100个用户,并且每个用户可以创建100个条目(文件或文件夹),则意味着我将在表中获得10000个条目。
2)我的第二个想法,我认为更安全的方法是创建表“用户”,其中将设置id,用户名,密码,...,文件,文件夹。在文件(文本格式条目)中将列出有关文件的信息,它们将被分成“*”符号,如下所示:
id*file name*size(in kbytes)*path*status
example:
15*test.exe*150*/root/*private
16*test2.exe*200*/root/folder1/*public
17*test3.exe*5600*/root/folder1/subfolder/*private
...
当用户插入时,此信息将在flex时输出,并且actionscript将捕获它。但问题是,当我编辑1个文件信息(例如1个文件名“test.exe”到“editedtest.exe”)时,我将在mysql中加载所有数据:
15*editedtest.exe*150*/root/*private
16*test2.exe*200*/root/folder1/*public
17*test3.exe*5600*/root/folder1/subfolder/*private
现在这里只有3个文件信息,但可以有超过1000个。
那么您怎么看?我该如何解决我的任务?或者它是更好的方式,我只是不知道它?请写下您的建议和想法。
答案 0 :(得分:1)
我将使用术语“filesystem”来表示每个用户的文件/文件夹结构。
不要害怕数据库中的大量行,数据库旨在解决这个问题。
另外,我 t为您提供了许多优势:
答案 1 :(得分:0)
如何完成:
在mysql中保存用户有权访问哪个子目录。
编写一个PHP脚本,读取Flash应用程序查询过的目录。检查目录是否属于该用户。返回该目录的所有文件。在Flash中显示导航按钮的方式与Web服务器在directoy列表页面中显示按钮的方式相同,例如:http://www.css-zibaldone.com/articles/directory/examples/3/3.html(用于apache目录列表示例)。
此方法将针对每个请求执行1次目录遍历。然后,您可以通过启用遍历来返回当前目录及其直接子目录文件来优化此情况。或者将结果缓存在硬盘上的某些文件中。
我找到了AJAX的文件浏览器应用程序:http://www.ajaxfilebrowser.com/