有时候上传文件是中文的文件名会出现乱码,

可以在移动文件时使用icov('utf-8','gb2312',filename)转换

代码:

<?php
//header('Content-type: text/html;charset=utf-8');
if (!empty($_FILES)) {
$fileInfo = $_FILES['myUpload'];
//echo '<pre>';
//print_r($fileInfo);
//echo '</pre>';
$fileName = $fileInfo['name'];
$fileType = $fileInfo['type'];
$fileTmpName = $fileInfo['tmp_name'];
$fileError = $fileInfo['error'];
$fileSize = $fileInfo['size']; // echo '文件名称:' . $fileName . '<br />文件类型:' . $fileType . '<br />文件临时目录' . $fileTmpName . '<br />文件错误:' . $fileError . '<br />文件大小: ' . $fileSize.'bytes';
if ($fileError == UPLOAD_ERR_OK) {
if (move_uploaded_file($fileTmpName,iconv('utf-8','gb2312','./uploads/'.$fileName))) {
// echo __FILE__;
$fileDir = dirname(__FILE__);
// echo $fileDir;
// var_dump($fileDir);
// $openFile = $fileDir.'/uploads/'.$fileName;
// while (file_exists($fileName)) {
echo '文件存在';
// $fileName = iconv('gbk','utf-8',$fileName);
// var_dump($temp);
// }
echo "<img src=\".\\uploads\\" . $fileName . "\" alt=\"$fileName\" />";
echo '上传成功';
} else {
echo '上传失败';
}
} else {
switch ($fileError) {
case 1:
echo '上传的文件超过php.ini中的upload.max.filesize的限制';
break;
case 2:
echo '文件超过表单的MAX_FILE_SIZE的限制';
break;
case 3:
echo '部分表单被上传';
break;
case 4:
echo '未发现上传文件';
break;
case 6:
echo '未发现临时文件';
break;
case 7:
echo '文件写入失败';
break;
case 8:
echo 'php文件上传拓展没有打开';
break;
default:
echo '未知错误,请联系管理员,happy@13.com';
break;
} }
} else {
echo '未知错误';
}

php 解决上传中文文件名时出现乱码的问题的更多相关文章

  1. 完美解决ExtJs6上传中文文件名乱码,后端SpringMVC

    ExtJs上传中文文件名乱码,观察请求. ExtJs6上传乱码从后台无法解决,因为文件名请求里面就已经乱码了,后台无法解码. 除非请求参数正确没有乱码,后台因为编码设置不一样,可以通过后台处理乱码 这 ...

  2. Flask下如何处理Requests 上传中文文件名的问题

    一.问题的由来     最近有个项目,叫做文档服务资源中心,类似于七牛,为各个业务系统提供统一的文件资源服务,包括文件的存储.操作管理.下载.预览等.在做文件存储的时候,遇到了这个当指定上传的文件名为 ...

  3. PHP 中move_uploaded_file 上传中文文件名失败

    项目需要上传文件名保持不变,发现上传中文失败:错误如下: move_uploaded_file(public/upload/files//-/\开密二次开发.rar): failed to open ...

  4. Servlet 起航 文件上传 中文文件名下载

    @WebServlet(name = "ticketServlet",urlPatterns = {"/tickets"},loadOnStartup = 1) ...

  5. Java中FTPClient上传中文目录、中文文件名乱码问题解决方法【好用】

    转: Java中FTPClient上传中文目录.中文文件名乱码问题解决方法 问题描述: 使用org.apache.commons.net.ftp.FTPClient创建中文目录.上传中文文件名时,目录 ...

  6. php上传中文文件文件名乱码问题

    php上传文件是最最基础的一个技术点,但是深入进去也有不少问题需要解决,这不,上传中文文件后,文件名变成了乱码. 下面是问题代码,很简单: 1.问题代码 html部分: <html> &l ...

  7. ueditor 1.4.3 gbk asp 上传中文乱码 终极解决方法 ie6 ie8 也适用

    [摘要:百度编纂器1.43 gbk asp 题目 1.firefox3.0下 单图上传 面没有了 面多图上传 中央的蓝色按钮(即 面击挑选图片)没有表现(附件上传出那个题目) 没有晓得我的水狐吃翔了 ...

  8. 解决NTKO Office中文文件名保存到服务器时出现乱码的问题

    再使用NTKO office控件时,在ntko往服务器提交文件时,中文文件名会出现乱码的问题! 其实解决这个问题可以换一种思路,在ntko往服务器提交文件时英文肯定是不会出现乱码的问题的! 那么想办法 ...

  9. Android 关于HttpClient上传中文乱码的解决办法

    使用过HttpClient的人都知道可以通过addTextBody方法来添加要上传的文本信息,但是,如果要上传中文的话,或还有中文名称的文件会出现乱码的问题,解决办法其实很简单: 第一步:设置Mult ...

随机推荐

  1. Springboot接收参数

    接收参数有三个方法. 1.接收id的方法: @RestController public class ControllerTest { //在这里读取配置文件 @Autowired private T ...

  2. Atitit.词法分析的理论原理 part2

    Atitit.词法分析的理论原理 part2 1.  转换图1 1.1. 转换图是由程序流程图改进而成的.同样,转换图也可以等价地转换为程序流程图3 1.2. 2.2.3  构造词法分析器(2)流程程 ...

  3. Atitit.h5 web webview性能提升解决方案-----fileStrore缓存离线存储+http方案

    Atitit.h5 web webview性能提升解决方案-----fileStrore缓存离线存储+http方案 1. 业务场景 android+webview h5 css背景图性能提升1 2. ...

  4. iOS开发25个性能调优技巧

    1. 用ARC管理内存 ARC(Automatic Reference Counting, 自动引用计数)和iOS5一起发布,它避免了最常见的也就是经常是由于我们忘记释放内存所造成的内存泄露.它自动为 ...

  5. hMailServer之发送附件大小限制

    hMailServer发送附件大小限制有以下几个地方: 1.php配置 参考 .post_max_size = 10M 表单提交最大数据为10M.此项不是限制上传单个文件的大小,而是针对整个表单的提交 ...

  6. Python format 格式化函数 格式化字符串

  7. 跟着百度学PHP[17]-PHP扩展CURL的POST传输数据

    如果是GET的话就不必那么多设置.但是基本需要用到POST就需要用到以下的几个设置选项. <?php $username = "admin"; $password = &qu ...

  8. treeMap,key排序,value排序

    HashMap与TreeMap按照key和value排序 使用一个场景是mapreduce中用解决topn问题是用value 排序 topn MapReducetopN

  9. shell变量/环境变量和set/env/export用法_转

    转自:shell环境变量以及set,env,export的区别 一.shell环境变量的分类以及set env export的区别: set:显示(设置)shell变量,包括的私有变量以及用户变量.不 ...

  10. ARM与X86架构的对决[整编]

    CISC(复杂指令集计算机)和RISC(精简指令集计算机)是当前CPU的两种架构.它们的区别在于不同的CPU设计理念和方法.早期的CPU全部是CISC架构,它的设计目的是  CISC要用最少的机器语言 ...