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程序设计有所帮助。

相关文章

yii框架中的Url生产问题小结

复制代码 代码如下: <?php echo CHtml::link('错误链接','user/register')?> <?php echo CHtml::link('...

PHP中explode函数和split函数的区别小结

一、前言 之所以做这个,是因为这两个函数的作用很像,都是把字符串转换成数组。 二、explode 从下面的例子可以看出,生成的数组是有对应的顺序的。 $pizza = "piece1...

php缩放图片(根据宽高的等比例缩放)实例介绍

推荐一个简单实用的缩放图片工具 SimpleImage,参考http://www.white-hat-web-design.co.uk/blog/resizing-images-with...

PHP计划任务、定时执行任务的实现代码

不知道能程序的性能会不会影响很大! 复制代码 代码如下: ignore_user_abort();//关掉浏览器,PHP脚本也可以继续执行. set_time_limit(0);// 通...

深入理解ob_flush和flush的区别(ob_flush()与flush()使用方法)

有关php的ob_flush()与flush()使用方法 注意:ob_flush()和flush()这两个函数一般要一起使用,顺序是先ob_flush(),然后flush(),它们的作用...