gosimple 发表于 2009-5-26 17:28:13

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

在使用codeigniter自带的upload库的时候,不知道怎么给上传后的文件指定文件名,如果不指定的话,上传中文文件会乱码,请问这个怎么处理

gosimple 发表于 2009-5-26 17:54:47

原来设置encrypt_name为true可以重命名

zhoulei 发表于 2009-5-27 21:49:52

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重命名规格稍改下,我改的是直接用时间日期来做的上传后的文件名.

四叶妹妹 发表于 2013-3-28 23:25:51

看看
页: [1]
查看完整版本: upload 类如何对待中文文件名问题