假如我有100万用户,要创建100万个文件夹.
每个文件夹里保存一个用户的文件.
那我该怎么创建这个目录结构比较合适呢?每个用户有一个ID号.用类似 000/000/000/1/ 这样的吗 还是别的更为合适?另外我想在地址栏 用rewrite弄成  http://www.site.com/id/index.html 就可以访问的.

解决方案 »

  1.   

    如果你是想创建1百万个用户文件夹的话, 自然是要采用 000/000/000/1/ 这种的
    因为就算是 LINUX系统, 当文件(夹)数目超过 1K 个的时候, 文件系统速度已经大打折扣了, 更别说WINDOWS系统了
    别外关于 rewrite, 如果是想 http://www.site.com/id/index.html 就可以直接访问用户文件夹里的文件时, 用一个方案写一个统一的入口文件, 比如说是 getuserprofile.php, 用uid接收用户id, 用m接收显示的显示, 当接收到uid时, 就转换为用户文件夹的路径, 再按 m 的值 将指定的页面  include进来. 
    如 http://www.site.com/getuserprofile.php?uid=id&m=index然后 rewrite 就可以这样写rewrite ^/(\d)+/(\w)+\.html$ /getuserprofile.php?uid=$1&m=$2 last;以上是 nginx 的写法, apache 请自行转换
      

  2.   

    利用url rewrite伪静态就可以,应该不需要创建用户的文件夹!
    如果每个用户都创建一个文件夹,那对服务器性能要求就比较高了!
      

  3.   

    参考ucenter的保存用户头像方法,可行。