当前位置:首页 > 日记 > 正文

php上传中文文件名随机码问题处理方案

php上传中文文件名随机码问题处理方案
php上传文件是最基本的技术点,但有很多问题有待深入解决。这不,在上传中文文件,文件名已经成为乱码。

下面是问题代码,非常简单:

1。问题代码

HTML的一部分:

复制代码代码如下所示:
<形式行动=upload_file .phpmethod=后

enctype =多部分/表单数据>

文件名:

PHP的一部分:
复制代码代码如下所示:

< PHP

如果($ _files { 文件

{

返回代码:。_files美元{ 文件

}其他

{

回声上传:文件 _files美元{

回声型:_files美元{文件

回声($ _files {大小:。文件

临时文件。_files美元{ 文件

如果(file_exists(上传 / $ _files {。文件

{

_files { echo $ 文件

}

其他的

{

move_uploaded_file($ _files { 文件

上载。_files美元{ 文件

}

}
上传一个名为测试数据的文件,呵呵,文件是通过了,但是文件名是随机代码。

2。初步测试

在线搜索解决方案,以及

复制代码代码如下所示:

move_uploaded_file($ _files { 文件
改变

复制代码代码如下所示:

move_uploaded_file($ _files { 文件
发现iconv函数的返回值为false。

检查函数手册,发现二参数有特殊的用法,在编码简单的翻译,我可以追加 / / / /直译或忽略,前者不会翻译成最接近的人物性格,后者是字符不能直接转化忽略。
想去 uff1a

复制代码代码如下所示:

var_dump(iconv(UTF-8

var_dump(iconv(UTF-8
结果uff1a

Bool(假)的字符串(4).txt

也就是说,中国人是不能转化的,甚至连文字的连接都不是,似乎网上介绍的方法不是万能的。

三.联机导入方法失败,再试一次

想,也许我的系统将把创建一个中文文件的时候,所以我重写了代码:

复制代码代码如下所示:

move_uploaded_file($ _files { 文件
结果是成功的,没有随机代码,也就是说,它不是一个系统问题。

想想,我的PHP文件本身是UTF8编码,所以

复制代码代码如下所示:

move_uploaded_file($ _files { 文件
这句话是一定要使用UTF8编码。上传之前绝对不是utf8编码的文件名。以下说法绝对是错误的,因为源字符串本身不是UTF8编码。

复制代码代码如下所示:

iconv(UTF-8
使用函数检查源字符串的编码:

复制代码代码如下所示:

E = mb_detect_encoding美元($文本、阵列('utf-8 ',' GBK,'gb2312);

回声E;
其结果是cp936,即字符串编码的源是GBK。

想去

复制代码代码如下所示:

move_uploaded_file($ _files { 文件
问题解决,不再有随机代码

4。另一个解决方案

事实上,在HTML文件的头标记中间有一个解决方案。

复制代码代码如下所示:
为了保持代码的统一,它不需要重新编码。

5。以下是结论

iconv函数的使用可以解决上传中文文件名乱码的问题。事实上,iconv可以解决所有问题的编码不一致造成的乱码。

使用iconv函数来检查源字符串的第一个代码,除非你已经确定的源字符串的编码。

要确保所有的编码,不使用iconv函数。

至于Tucao,请不要使用中文文件名作为保存在服务器上的文件名。请将文件名转换为自己的文件名(即使英文文件名也被翻译)。

相关文章

PS图象处理软件设计并制造出一种美

PS图象处理软件设计并制造出一种美

红色,图象处理,软件设计,水晶,课程,塑造心形并不复杂,重点是描绘心的容积感和高光,在找到心清、高光、暗的参考资料之前,也会产生许多现实的生产效果。 塑造心形并不复杂,重点是描绘心的容积感和高光,在找到心清、高光、暗的参考资料之前,也会产…

PS图象处理软件结合AI将手机字成梦

PS图象处理软件结合AI将手机字成梦

手绘,图象,处理软件,梦幻般,效果,本教程介绍给朋友,使用PS图象处理软件结合AI将移动人物进入梦幻和美丽的手绘效果。最后的效果是非常美丽和唯美的,因为使用了AI软件,所以学习者需要对AI有一定的了解,课程内容多了一些,需要学习者有一定的耐心,让…

美容效果PS图象处理软件爆炸的眩光

美容效果PS图象处理软件爆炸的眩光

眩光,图象,处理软件,效果,电脑软件,本教程主要是介绍PS图象处理软件化妆品的影响爆炸的眩光,教程化妆真的很漂亮,很好的教程,值得学习,推荐,一起学习吧 本教程是利用PS图象处理软件的华丽的冲击波影响,昨天是大忽悠折磨够了看高冷用户创建爆炸的…

PS用图层样式制作一个漂亮的立体紫

PS用图层样式制作一个漂亮的立体紫

图层,样式,玻璃,漂亮,电脑软件,本教程主要分为两个大的部分:背景和水晶般的心,用渐变色填充背景,然后填充自制模式,过滤器等做一些变形处理;生产的零件更复杂一点,使用多个图层,分别控制高光,暗,和其他细节使用图层样式来完成, 本教程主要分为两个大…

HTML中DOM中的文档对象图像集合用

HTML中DOM中的文档对象图像集合用

图像,文档,集合,对象,示例,本文给出了HTML中DOM中文档对象图像集合使用的一个例子,供大家参考: 图像集合可以返回文档中所有图像对象的引用。 Grammar: 复制代码代码如下:文档。图像{ } 为了与0层DOM兼容,该集合不包含标记定义的图像。 实…

使绿色成为网页设计中的一个聪明教

使绿色成为网页设计中的一个聪明教

教程,网页设计,聪明,电脑软件,本文主要介绍一个使绿色成为网页设计的亮点的教程。绿色是网页设计中广泛使用的一种颜色,它本身具有内在的宁静感,绿色被认为在心理学中产生一定的视觉冲击。因此,在网站主页上突出绿色元素是一个很好的选择。 清…

excel表格的基本操作100例{实用}

excel表格的基本操作100例{实用}

基本操作,表格,电脑软件,excel,1。快速选择所有工作表 右键单击工作窗口下的工作表标签,在弹出菜单中选择选择所有工作表;命令可以()。 2。快速启动Excel 如果你想启动系统自动Excel,可以做到这一点:1。双击我的电脑图标进入;Windows目录,打开开始…

对EasyUITreeGrod编辑方法浅谈

对EasyUITreeGrod编辑方法浅谈

方法,浅谈,编辑,电脑软件,EasyUITreeGrod,主从表,从表一TreeGrid,当数据加载,点击节点进入编辑状态。 复制代码代码如下所示: 列:{ 标题:id 字段:id 隐藏:真 { }。 字段: 隐藏:真 { }。 标题:AAA 字段:AAA 宽度:70, 对齐:中心 halign:中心 {…

2015超级调侃QQ个性签名

2015超级调侃QQ个性签名

个性签名,电脑软件,QQ,庄珊谁不可怕丑陋的尴尬。 我给你留一个江山市就够了。 你习惯我教的那个人吗 我的邻居成了一个想法。谈论人!他改变了无线代码。 女人必须有骨头,或者爱结婚,或者为单身而骄傲,并且同意。 在这个钱的厕所里,没有什么是不…

PS图象处理软件增加了美丽的荷叶和

PS图象处理软件增加了美丽的荷叶和

蓝天,水景,图象,处理软件,增加了,本教程的重点是材质贴图,但是前期构思非常重要,根据原联想,想要效果一般都是构思出来的,然后收集一些合适的材质,在上面保留一定的顺序,好的色彩和细节都可以调整。 本教程的重点是材质贴图,但是前期构思非常重要…

scrollwidth之间的差异,clientwidth

scrollwidth之间的差异,clientwidth

差异,电脑软件,scrollwidth,offsetwidth,clientwidth,通过演示测试这三个属性之间的差异。 解释uff1a ScrollWidth:这个对象的实际内容的宽度,没有宽度的线,将成为更大的对象的内容超过了可视面积。 ClientWidth:对对象内容的视觉区域的宽度…

PS图象处理软件相机镜头图标绘制逼

PS图象处理软件相机镜头图标绘制逼

绘制,图标,逼真,图象,处理软件,本教程介绍朋友的镜头生动的立体式的使用PS图象处理软件图标的绘制,立体效果主要是用来完成覆盖,纹理效果主要是通过图层样式来完成教程不是很难,推荐喜欢的朋友,让我们一起学习 本教程主要是镜头生动的立体式的…