用户
 找回密码
 入住 CI 中国社区
搜索
查看: 3363|回复: 3
收起左侧

upload 类如何对待中文文件名问题

[复制链接]
发表于 2009-5-26 17:28:13 | 显示全部楼层 |阅读模式
在使用codeigniter自带的upload库的时候,不知道怎么给上传后的文件指定文件名,如果不指定的话,上传中文文件会乱码,请问这个怎么处理
 楼主| 发表于 2009-5-26 17:54:47 | 显示全部楼层
原来设置encrypt_name为true可以重命名
发表于 2009-5-27 21:49:52 | 显示全部楼层
PHP复制代码
function set_filename($path, $filename)
        {
                if ($this->encrypt_name == TRUE)
                {              
                        //mt_srand();
                        //$filename = md5(uniqid(mt_rand())).$this->file_ext;  
                        date_default_timezone_set('PRC');
                        $filename=date('YmdHis').rand(1,9999).$this->file_ext;
                }
       
                if ( ! file_exists($path.$filename))
                {
                        return $filename;
                }
       
                $filename = str_replace($this->file_ext, '', $filename);
               
                $new_filename = '';
                for ($i = 1; $i < 100; $i++)
                {                      
                        if ( ! file_exists($path.$filename.$i.$this->file_ext))
                        {
                                $new_filename = $filename.$i.$this->file_ext;
                                break;
                        }
                }
 
                if ($new_filename == '')
                {
                        $this->set_error('upload_bad_filename');
                        return FALSE;
                }
                else
                {
                        return $new_filename;
                }
        }
复制代码

把library里的upload.php重命名规格稍改下,我改的是直接用时间日期来做的上传后的文件名.

评分

参与人数 1威望 +2 收起 理由
Hex + 2 原创内容

查看全部评分

发表于 2013-3-28 23:25:51 | 显示全部楼层
看看

本版积分规则