PHP上传文件时自动分配路径的方法
本文实例讲述了PHP上传文件时自动分配路径的方法。分享给大家供大家参考。具体分析如下:
网站上传文件时,如果是小的企业站,放在一个目录还没问题,当网站大了,上传的文件多了,我们就不能放在同一个目录了,这里我们就来讲讲用PHP自动给上传的文件分配路径的方法。
PHP分配上传文件的路径实例
主要程序片段如下:
复制代码 代码如下:
<?php
/*数字方式分配路径*/
function allotPath($id, $extend='jpg') {
$folders = str_split(sprintf("%012s", $id),3);
$folders[3] = $id;
return '/'. join('/', $folders).'.'.$extend;
}
/*杂凑方式分配路径*/
function allotHashPath($id, $extend='jpg') {
$folders = array_slice( str_split(md5($id),2), 0, 4);
$folders[] = $id;
return '/'. join('/', $folders).'.'.$extend;
}
var_dump(allotPath(122333));
// string(23) "/000/000/122/122333.jpg"
var_dump(allotHashPath(122333));
// string(23) "/9c/7c/c2/cd/122333.jpg"
/*数字方式分配路径*/
function allotPath($id, $extend='jpg') {
$folders = str_split(sprintf("%012s", $id),3);
$folders[3] = $id;
return '/'. join('/', $folders).'.'.$extend;
}
/*杂凑方式分配路径*/
function allotHashPath($id, $extend='jpg') {
$folders = array_slice( str_split(md5($id),2), 0, 4);
$folders[] = $id;
return '/'. join('/', $folders).'.'.$extend;
}
var_dump(allotPath(122333));
// string(23) "/000/000/122/122333.jpg"
var_dump(allotHashPath(122333));
// string(23) "/9c/7c/c2/cd/122333.jpg"
这里我们讲的主要是数方式分配路径及杂凑方式分配路径,我们还可以根据日期来分配,这个问题感兴趣的朋友可以自己去实现。
希望本文所述对大家的php程序设计有所帮助。