赵工的个人空间


网络课堂部分转网页计算部分转编程演练

 PHP的使用技巧

首页 > 网络课堂 > PHP的使用技巧 > 获取随机文件名的方法
获取随机文件名的方法

使用PHP上传文件时,往往并不想使用原来在浏览器上提交的文件名,而想使用随机得到的字符串作为文件名,但文件扩展名有需要保持不变。有很多种方法可以实现上述需要,其中比较简单的一种是使用随机数获取固定长度的字符串:
$char = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
$string='';
for($i = 10; $i > 0; $i--) {
  $string.= $char[mt_rand(0, 51)];
}
$thefile=$folder.'/'.$string.'.'.$ext;
代码中首先使用大小写的拉丁字母构造了一个字符串$char,然后使用随机数函数mt_rand()获取一个[0 51]之间的数值作为$char字符串数组的下标以获取对应的字母,使用循环语句将获取的字母串接起来成为固定的长度字符串$string。

有了随机获取的字符串$string,就可以与文件夹字符串$folder和文件扩展名字符串$ext串接起来,而形成一个新的完整的文件路径。其中的扩展名字符串$ext一般是从原文件名中获取,也有多种方法,常用的一种是:
$ext=pathinfo($thefile,PATHINFO_EXTENSION); 从原文件名中获取的扩展名然后加到新生成的文件名中,就不会破坏原有的文件格式信息,便于相应软件的正常读取。

Copyright@dwenzhao.cn All Rights Reserved   备案号:粤ICP备15026949号
联系邮箱:dwenzhao@163.com  QQ:1608288659