move_uploaded_file就可以重命名了。重命名后保存到数据库中也要用新名称
move_uploaded_file("@A:临时文件名","@B:保存的文件路径和文件名");
你的程序@B处使用是的原来的名称,是可以改名称的
一般处理这个问题,有三种方法
1.产生随机文件名,实现: $filename=md5(uniqid()).'.'.$ext;
2.生成随机目录:$filename=md5(uniqid())."/".$origen_filename;
3.用文件的md5值做新的文件名,$filename=md5_file($_FILE['u_file']['tmp_name'][$i]).$ext;这个办法的好处是,同一个文件,就算改名字后上传,传到服务器,还是同一个文件名,不会出现重复文件,不同文件,就算是同一个名字,上传后,也不会彼此覆盖。
综上所诉,我觉得最合适的方法是:
首先计算出md5_file()的值,假设结果是 2af54305f183778d87de0c70c591fae4 ,
再创建文件夹2a/f5,也可以是2/a,一个字母分的话,每个目录下面会有16个文件夹,2个字母就是16*16,可以多分几级,然后用第3中方法保存文件。到生成好的目录。
这有一个权限高低的问题。系统的权限最高,PHP对权限的操作是在系统赋予PHP权限的前提下的。也就是说,只能通过系统手动操作。
当系统赋予一个文件夹权限后,PHP在该文件夹下,新增、删除、重命名文件或文件夹都是可以的。
权限是没有方法添加的,如果用php可以简单的添加权限,那系统就不安全了,你可以手动的在属性里面修改文件修改权限。
function Fun($str){ $arr1=explode('_',$str); $str = implode(' ',$arr1); return ucwords($str); }是不是很简单了,大家可以去后盾人学习,我就在那里学习,最近还有优惠活动哦
把 rename($read,"to.txt"); 改成
rename($di,"to.txt"); 试试
readdir()返回的是一个不带路径的文件名
renname()传入文件名,只会去查找当前目录和系统环境变量PATH下的目录和php配置文件中的include_path目录等
rename("./myweb/rename/test/".$read,'./myweb/rename/test/to.txt');
如果路径更改也可以当成移动文件的API使用
这个主要是你bbb文件夹存在,当你要重命名aaa成bbb文件夹的时候,就会报错。
解决方法,就是先把bbb文件夹重命名为其它的,等aaa重命名为bbb之后,再重新操作。
如果bbb文件夹没用,就直接删除掉,这样你再操作的时候就不会有问题了
以上就是土嘎嘎小编大虾米为大家整理的phprename_php,上传文件重命名相关主题介绍,如果您觉得小编更新的文章对您有所帮助,不要忘记讲本站分享给您身边的朋友哦!!