PHP上传文件时自动分配路径的方法_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程序设计有所帮助。

时间: 2024-08-29 10:22:57

PHP上传文件时自动分配路径的方法_php技巧的相关文章

PHP上传图片时判断上传文件是否为可用图片的方法_php技巧

本文实例讲述了PHP上传图片时判断上传文件是否为可用图片的方法.分享给大家供大家参考,具体如下: 这里利用getimagesize函数: function isImage($filename) { $types = '.gif|.jpeg|.png|.bmp'; //定义检查的图片类型 if(file_exists($filename)) { $info = getimagesize($filename); $ext = image_type_to_extension($info['2']);

PHP用FTP类上传文件视频等的简单实现方法_php实例

文件1:ftp.php <?php /** * 仿写CodeIgniter的FTP类 * FTP基本操作: * 1) 登陆; connect * 2) 当前目录文件列表; filelist * 3) 目录改变; chgdir * 4) 重命名/移动; rename * 5) 创建文件夹; mkdir * 6) 删除; delete_dir/delete_file * 7) 上传; upload * 8) 下载 download * * @author quanshuidingdang */ cl

struts 2 文件上传-struts 2 上传文件时,怎么样让它的默认路径是WebRoot工程下的目录

问题描述 struts 2 上传文件时,怎么样让它的默认路径是WebRoot工程下的目录 在struts2框架中使用文件上传,在 Action 的处理上传的业务方法中将临时文件中的数据保存到指定路径的文件中,我需要保存到项目的WebRoot目录下的upload文件夹中 用 String filePath=ServletActionContext.getServletContext().getRealPath("/upload/")+uploadFileName 指定文件的保存目录. 输

kindeditor 上传文件时 怎么让 文件说明 自动生成

问题描述 kindeditor 上传文件时 怎么让 文件说明 自动生成 修改 kindeditor 上传组件 文件说明 默认返回 文件名 这个应该怎么实现 需要修改什么文件 要详细的 谢谢啦 解决方案 http://blog.sina.com.cn/s/blog_533f138e01019re7.html 解决方案二: kindeditor的demo里面有对应的语言,修改语言文件名的生成规则就好了,不过建议还是用时间命令,要不有中文你处理不好编码小心乱码..

input file-C#上传文件时找不到文件~求解~!!

问题描述 C#上传文件时找不到文件~求解~!! //后台代码 public static class Qiniu_API { public static string Bucket = """";//空间名 public static string Domain = """";//域名 static Qiniu_API() { Config.ACCESS_KEY = ""<AK>"&q

multipart ile-MultipartFile上传文件时,中文文件名乱码怎么解决?

问题描述 MultipartFile上传文件时,中文文件名乱码怎么解决? package com.upload; import java.io.File; import java.io.IOException; import java.text.SimpleDateFormat; import java.util.Date; import javax.servlet.http.HttpServletRequest; import org.springframework.stereotype.Co

.net上传文件时,用js调用后台函数,出现HTMLfile拒绝访问

问题描述 .net上传文件时,用js调用后台函数,出现HTMLfile拒绝访问 .net上传文件时,用js调用后台函数,出现HTMLfile拒绝访问,拜求大神指点, 解决方案 fileupload 控件中 选择文件,这时候文件还没有上次,只是在浏览器端. 文件上传后,在服务器端处理(大部分情况是postback). 这时候没法执行js. 不太明白你的问题,最好上点代码.

请问使用iframe进行无刷新上传文件时,好像没有效果?

问题描述 请问使用iframe进行无刷新上传文件时,好像没有效果? 在网上找了关于iframe 无刷新上传文件,上传时没有反应,这一般是什么原因?会不会是浏览器的原因啊? 解决方案 你代码有问题..和浏览器没关系.如果你跨域上传文件,是无法获取iframe里面的内容的 给iframe添加onload事件,获取iframe里面额返回值进行判断,不要依赖动态页返回的内容,要不如果动态页报错没有输出js回调或者提示信息就和没反应一样了

字符串-网页上传文件时怎么把文件加密后上传

问题描述 网页上传文件时怎么把文件加密后上传 我想在html页面选择一个上传文件,在js获得这个文件的信息,然后对这个文件进行对称加密后再上传.初步想法是把文件是以数据流发到后台再生成一个完整文件的,但怎么获得这个文件的数据流?另一个想法是把先把文件转成字符串,然后加密,再把字符串生成文件2,然后上传,但怎样才能转成字符串并且把加密的字符串转回文件?请大神解答,感激不尽 解决方案 在Web架构中如果要保密, 最简单最安全的方法是使用HTTPS协议. 用js获取文件数据流是可以的, 但需要新版浏览