一般来说,头像文件是各种以用户为中心的网站必须要处理的。建站初期,头像文件大多以
http://www.xxx.com/heads/1.jpg
的形式保存,xxx.com代表网站的域名,1.jpg代表用户ID为1的用户的头像。这样做的坏处显而易见,当用户数量超过heads目录能够有效保存的文件数量极限的时候,对于头像的存取将及其缓慢。所有的操作系统都有directory下file数量的限制,即使头像数量达不到这个极限,也会大大影响存取效率。
这里常见的做法就是将用户ID扩展到一定的位数,比如10位,以ID=1234为例,扩展之后就变为ID=0000001234,然后使用路径符号两位两位的分割开来,成为“00/00/00/12/34”,最后将头像文件以head.jpg保存在这个路径下。最终的保存路径就变为
http://www.xxx.com/heads/00/00/00/12/34/head.jpg
。
将本来保存在一级目录下的文件拆分到多级目录中,每一级目录实际上最多出现100个目录,这样可以在一定程度上缓解对存取效率的影响。
当然,随着网站应用的增多,用户头像的规格也慢慢丰富起来,网站不能仅靠一种规格的头像应对所有新的应用。这个时候,就需要在刚刚的用户目录中存放各种不同规格的头像,头像的名称中也要包含规格信息,比如:head_48×48.jpg。
本站原创文章,转载请注明出处:《头像文件的处理与保存》
http://www.timandes.com/2009/06/user-head-file-save/