PHP上传文件时如何自动分配的路径

网站上传文件时,如果是小的企业站,放在一个目录还没问题,当网站大了,上传的文件多了,我们就不能放在同一个目录了,现在我们来讲讲用PHP自动给上传的文件分配路径.

PHP分配上传文件的路径实例,主要程序片段如下:

  1. <?php
  2. /*数字方式分配路径*/
  3. function allotPath($id, $extend='jpg') {
  4. $folders = str_split(sprintf("%012s", $id),3);
  5. $folders[3] = $id;
  6. return '/'. join('/', $folders).'.'.$extend;
  7. }
  8. /*杂凑方式分配路径*/
  9. function allotHashPath($id, $extend='jpg') {
  10. $folders = array_slice( str_split(md5($id),2), 0, 4);
  11. $folders[] = $id;
  12. return '/'. join('/', $folders).'.'.$extend;
  13. }
  14. var_dump(allotPath(122333));
  15. // string(23) "/000/000/122/122333.jpg"
  16. var_dump(allotHashPath(122333));
  17. // string(23) "/9c/7c/c2/cd/122333.jpg"
  18. ?>

这里我们讲的主要是数方式分配路径及杂凑方式分配路径,我们还可以根据日期来分配,这个问题留给读者自己去实现.