刀客孩哥 发表于 2010-9-11 09:43:14

文件上传类:关于改文件名的思考

本帖最后由 刀客孩哥 于 2010-9-11 09:52 编辑

ci里的“偏好设置”很方便,可以这样改:

$config['file_name'] = 'wangcai.jpg';



但它考虑得不太周到,因为这样一来,就把文件名的后缀也固定死了。
通过看用心研读ci手册,我发现这么个辅助函数
$this->upload->data()
它可以取到:
raw_name   不包括扩展名在内的文件名部分


但这么做好像取到的是我改名后的前缀。看来要改图片名称,ci是无能为力了,所以我就想了个原始的做法

步骤是这样的:
取得原始上传文件名,用explode以"."把它割成两部份,然后改wangcai的值

最终文件名就是"$change_wangcai0.wangcai"

问:原始上传文件名怎么取?

visvoy 发表于 2010-9-11 13:55:24

先想想你为啥要自己把上传文件名定死?
不用$config['file_name']='xx'能不能解决问题?
ci设置了这个参数,有它适用的地方,但不一定适合你的项目

刀客孩哥 发表于 2010-9-11 14:50:02

不是我把上传文件名定死
是$config['file_name'}='xx.jpg'把后缀名给定死了,我不解

谢v版大人回帖哦

visvoy 发表于 2010-9-11 17:11:29

我写过的几个项目,上传部分都没用$config['file_name']
介个配置用到时候不多,去掉了吧

sonic 发表于 2010-9-11 17:59:41

you can use the original name by $_FILE array!!

sonic 发表于 2010-9-11 18:10:54

if has any question please
print_r($_FILES['field_name'])

刀客孩哥 发表于 2010-9-12 09:34:01

回复 6# sonic


   谢了,文西

tangjianft 发表于 2010-11-16 12:32:03

里面有个 encrypt_name 就不用改名了 他都改好了,可以解决中文名问题了
页: [1]
查看完整版本: 文件上传类:关于改文件名的思考