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

可以在移动文件时使用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. js 时间戳

    https://www.cnblogs.com/crf-Aaron/archive/2017/11/16/7844462.html var time = '2018-03-22 00:00:00'.r ...

  2. Atitti. 语法树AST、后缀表达式、DAG、三地址代码

    Atitti. 语法树AST.后缀表达式.DAG.三地址代码 抽象语法树的观点认为任何复杂的语句嵌套情况都可以借助于树的形式加以描述.确实,不得不承认应用抽象语法树可以使语句翻译变得相对容易,它很好地 ...

  3. maven下载源码和java docs

    方法一: mvn dependency:sources mvn dependency:resolve -Dclassifier=javadoc The first command will attem ...

  4. python学习之range()和xrange()

    在python2中,xrange()返回一个xrange对象,注意这个对象并不是生成器,也不是迭代器,但是是迭代对象. 而range()则返回列表对象. >>> range(10) ...

  5. bootstrap 的使用

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  6. 线程同步工具CountDownLatch

    CountDownLatch的一个非常典型的应用场景是:有一个任务想要往下执行,但必须要等到其他的任务执行完毕后才可以继续往下执行.假如我们这个想要继续往下执行的任务调用一个CountDownLatc ...

  7. mybatis慢查询配置

    <?xml version="1.0" encoding="UTF-8"?> <!--suppress SpringFacetInspecti ...

  8. 每隔10秒自动更新svn 定时更新svn 脚本

    任务: */1 * * * * /opt/adobe/fms/webroot/api/svn.sh 这个命令的问题:只更新了版本号,没有更新实际内容,但是直接运行上面shell脚本能更新. 解决:需要 ...

  9. A Deep Compositional Framework for Human-like Language Acquisition in Virtual Environment

    论文地址:https://128.84.21.199/abs/1703.09831 这篇论文来自于百度的机器学习研究院,作者为:徐伟.余昊男.张海超 这篇论文用了多种技术的组合: reinforcem ...

  10. 日期类Date

    Java在日期类中封装了有关日期和时间的信息,用户可以通过调用相应的方法来获取系统时间或设置日期和时间.Date类中有很多方法在JDK1.0公布后已经过时了,在8.3中我们将介绍JDK1.0中新加的用 ...