SWFUpload 上传保存时会删掉中文字符?
用SWFUpload上传,文件名是英文的话完全没有问题,可是如果是中文的话就会不显示出来,这回怎么一回事?要在哪里修改呢?
首先我上传的文件包含中文字符
上传至upload文件夹后 文件名为(之前的日期是自己添加的),也就是说这里只有“biao”,“中文的”三个字没了
在数据库中文件名及路径显示完整的
upload.php修改如下
// $file_name = preg_replace('/[^'.$valid_chars_regex.']|\.+$/i', "", basename($_FILES[$upload_name]['name']));
$file_name = basename($_FILES[$upload_name]['name']);
$file_name=iconv("UTF-8","GB2312",$file_name);
不知如何解决此问题,请各位高手支招~
------解决思路----------------------
$fn = '中文文件名.txt';<br />echo basename($fn);.txt
<br />$oldname = 'myfile.xlsx';<br />$newname = createFileName($oldname);<br />echo $newname;<br /><br />function createFileName($name){<br /> // 获取后缀<br /> $name = explode('.', $name);<br /> $ext = array_pop($name);<br /><br /> // 获取微秒数<br /> $r = explode('.',microtime(true));<br /> $r = array_pop($r);<br /><br /> // 生成newname<br /> $newname = date('YmdHis').$r.mt_rand(1000,9999).'.'.$ext;<br /> return $newname;<br />}<br />