写了一段简单的服务器端文件上传的处理代码,但是英文名的文件名上传正常,中文名的文件名也不提示错误,但是上传后文件名变为空,比如“文档.doc”,上传后就变成了“.doc”。不知为什么,文件名应该是不能为空的。下面是我写的代码,其中是myfile是客户端上传input的name。<?
$upload_path = $_SERVER['DOCUMENT_ROOT']."/upload";
$dest_file = $upload_path.basename($_FILES['myfile']['name']);if(move_uploaded_file($_FILES['myfile']['tmp_name'].$dest_file))
{
echo "文件已上传至服务器!";
}
else
{
echo "发生错误".$_FILES['myfile']['error'];
}
?>
$upload_path = $_SERVER['DOCUMENT_ROOT']."/upload";
$dest_file = $upload_path.basename($_FILES['myfile']['name']);if(move_uploaded_file($_FILES['myfile']['tmp_name'].$dest_file))
{
echo "文件已上传至服务器!";
}
else
{
echo "发生错误".$_FILES['myfile']['error'];
}
?>
解决方案 »
- 求一个效果的对比显示
- 我的思路对吗?代码是否有错,能输出但不能调用,高手来看看
- 关于页面刷新重复提交的问题和isset的问题
- 1000分,喜欢帝国时代游戏的朋友进来,一个老外用PHP写的帝国时代录象分析器代码,我想翻译成C#,就差一个最关键的文件了。
- Content-Encoding: gzip 的网站内容用gzuncompress不能解压,怎么办?
- GD库生成动态多帧的gif图档
- 有关 if 判断的问题 (送分问题)
- 关于图片上传的问题?请帮忙看看是不是这样写的!
- 在win2000下安装php不成功!为什么
- 谁知道这是什么编码?从某个餐饮api上取到的数据,看起来像base64
- 检查一下自己的服务器,是否成为肉机
- 求教,数组排序
对文件名做一个编码转换$dest_file=iconv('UTF-8','GBK',$dest_file);utf-8 到 gbk 或者 gbk 到 utf-8 自己看看哪个正常吧。
看下什么情况。
你说的情况没遇到过。系统是否支持中文也应该在考虑范围内。
回复6#朋友,系统是中文的。打印myfile数组name索引的值可以显示中文,打印$_FILES['myfile']['name']也可以正常显示。
$dest_file = $upload_path.basename($_FILES['myfile']['name']);里面的$_FILES['myfile']['name']需要转一下编码,但是没有进行编码处理。但是我试了UTF-8到GBK和GBK到UTF-8,都不行,GBK到UTF8还显示乱码文件名。。
我怎么才能知道要从什么编码转到什么编码呀?
GBK到UTF-8 显示乱码
XML就没在gb下好好工作过...