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


Posted in PHP onJanuary 09, 2015

本文实例讲述了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 相关文章推荐
用PHP实现验证码功能
Oct 09 PHP
FleaPHP的安全设置方法
Sep 15 PHP
提升PHP性能的21种方法介绍
Jun 25 PHP
PHP echo,print,printf,sprintf函数之间的区别与用法详解
Nov 27 PHP
PHP实现的简单mock json脚本分享
Feb 10 PHP
php简单定时执行任务的实现方法
Feb 23 PHP
php对文件夹进行相关操作(遍历、计算大小)
Nov 04 PHP
WordPress中邮件的一些修改和自定义技巧
Dec 15 PHP
php获取今日开始时间和结束时间的方法
Feb 27 PHP
Yii2 队列 shmilyzxt/yii2-queue 简单概述
Aug 02 PHP
Laravel 验证码认证学习记录小结
Dec 20 PHP
thinkphp框架实现路由重定义简化url访问地址的方法分析
Apr 04 PHP
PHP中new static() 和 new self() 的区别介绍
Jan 09 #PHP
PHP中的替代语法介绍
Jan 09 #PHP
php获取客户端电脑屏幕参数的方法
Jan 09 #PHP
PHP计算百度地图两个GPS坐标之间距离的方法
Jan 09 #PHP
php实现按照权重随机排序数据的方法
Jan 09 #PHP
PHP实现采集抓取淘宝网单个商品信息
Jan 08 #PHP
linux中cd命令使用详解
Jan 08 #PHP
You might like
PHP利用COM对象访问SQLServer、Access
2006/10/09 PHP
模拟SQLSERVER的两个函数:dateadd(),datediff()
2006/10/09 PHP
PHP 强制性文件下载功能的函数代码(任意文件格式)
2010/05/26 PHP
几个有用的php字符串过滤,转换函数代码
2012/05/01 PHP
PHP+memcache实现消息队列案例分享
2014/05/21 PHP
PHP实现根据银行卡号判断银行
2015/04/29 PHP
PHP二维数组矩形转置实例
2016/07/20 PHP
thinkPHP的表达式查询用法详解
2016/09/14 PHP
PHP对象克隆clone用法示例
2016/09/28 PHP
Zend Framework框架中实现Ajax的方法示例
2017/06/27 PHP
PHP大文件分块上传功能实例详解
2019/07/22 PHP
网站导致浏览器崩溃的原因总结(多款浏览器) 推荐
2010/04/15 Javascript
浅谈javascript的分号的使用
2015/05/12 Javascript
AngularJs实现ng1.3+表单验证
2015/12/10 Javascript
JS中对象与字符串的互相转换详解
2016/05/20 Javascript
浅谈angularJS中的事件
2016/07/12 Javascript
Chrome不支持showModalDialog模态对话框和无法返回returnValue问题的解决方法
2016/10/30 Javascript
JavaScript闭包和范围实例详解
2016/12/19 Javascript
js点击任意区域弹出层消失实现代码
2016/12/27 Javascript
微信小程序教程系列之新建页面(4)
2017/04/17 Javascript
利用types增强vscode中js代码提示功能详解
2017/07/07 Javascript
AngularJS实现图片上传和预览功能的方法分析
2017/11/08 Javascript
chosen实现省市区三级联动
2018/08/16 Javascript
vue实现下拉菜单树
2020/10/22 Javascript
Python列表和元组的定义与使用操作示例
2017/07/26 Python
Python正则表达式非贪婪、多行匹配功能示例
2017/08/08 Python
Ubuntu下Anaconda和Pycharm配置方法详解
2019/06/14 Python
Python的对象传递与Copy函数使用详解
2019/12/26 Python
TripAdvisor瑞典:全球领先的旅游网站
2017/12/11 全球购物
尤妮佳moony海外旗舰店:日本殿堂级纸尿裤品牌
2018/02/23 全球购物
德国高品质男装及配饰商城:Cultizm(Raw Denim原色牛仔裤)
2018/04/16 全球购物
英国排名第一的停车场运营商:NCP
2019/08/26 全球购物
高一化学教学反思
2014/02/05 职场文书
聘任书的格式及模板
2019/10/28 职场文书
Java实现二维数组和稀疏数组之间的转换
2021/06/27 Java/Android
Java数组详细介绍及相关工具类
2022/04/14 Java/Android