PHP上传文件时自动分配路径的方法

yipeiwu_com6年前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"

这里我们讲的主要是数方式分配路径及杂凑方式分配路径,我们还可以根据日期来分配,这个问题感兴趣的朋友可以自己去实现。

希望本文所述对大家的php程序设计有所帮助。

相关文章

PHP修改session_id示例代码

复制代码 代码如下: if(isset($_GET["se"])){ $se = $_GET["se"]; }else{ return; } if(!empty($se)){ echo(...

php实现的Curl封装类Curl.class.php用法实例分析

本文实例讲述了php实现的Curl封装类Curl.class.php用法。分享给大家供大家参考。具体如下: <?php //curl类 class Curl { fu...

php 实现进制转换(二进制、八进制、十六进制)互相转换实现代码

十进制转换为二进制、八进制、十六进制 从十进制向其它进制转换,用的是就用该数字不断除以要转换的进制数,读取余数。连接一起就可以了。 复制代码 代码如下: <?php /** *十进...

PHP合并数组+号和array_merge的区别

PHP的数组融合一般有两种做法,一种是直接使用加号相加,另一种则是使用array_merge函数进行相加,两者之间有点区别: 1.相加会证数组中的自然index不被重置 2.相加方法中,...

PHP函数常用用法小结

魔术函数   魔术函数是PHP中内置的语言特性,当程序执行到某种情况时,如果定义了这些魔术函数(php手册中称之为“Overloading”),则PHP会调用他们,同时也会传入...