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

可以在移动文件时使用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. C# Winform 实现自定义半透明遮罩层介绍

    在网页中通过div+css实现半透明效果不难,今天我们看看一种在winfrom中实现的方法: 效果图如下,正常时: 显示遮罩层时: 自定义遮罩层控件的源码如下: View Row Code 1 usi ...

  2. 点滴积累【JS】---JS小功能(操作Table--动态添加删除表格及数据)

    效果: 代码: <head runat="server"> <title></title> <style type="text/ ...

  3. Tensorflow - Tutorial (7) : 利用 RNN/LSTM 进行手写数字识别

    1. 经常使用类 class tf.contrib.rnn.BasicLSTMCell BasicLSTMCell 是最简单的一个LSTM类.没有实现clipping,projection layer ...

  4. Yii2基础常用笔记

    表单验证规则写在model类里,例如: 通过表单输入的值给模型属性填充数据用模型对象的load方法. $model->load(Yii::$app->request->post())

  5. JS高程3:Ajax与Comet-进度事件、跨源资源共享

    有以下 6 个进度事件  loadstart:在接收到响应数据的第一个字节时触发.  progress:在接收响应期间持续不断地触发.  error:在请求发生错误时触发.  abort:在因 ...

  6. 【Objective-C】02-Objective-C学习及iOS开发的准备

    前言 由于大部分朋友对iOS开发还是有比较多的疑问,比如是不是一定要买iPhone和苹果笔记本才能做iOS开发?因此,这讲就为广大有意学习iOS开发的朋友们进行解惑. 一.什么是iOS开发 iOS是由 ...

  7. DMA—直接存储区访问

    本章参考资料:< STM32F4xx 中文参考手册> DMA 控制器章节.学习本章时,配合< STM32F4xx 中文参考手册> DMA 控制器章节一起阅读,效果会更佳,特别是 ...

  8. regcomp/regexec/regfree--POSIX regex functions

    语法 #include <sys/types.h> #include <regex.h> int regcomp(regex_t *preg, const char *rege ...

  9. nginx+keepalived构建高可用服务

    1.整体环境规划 虚拟IP:10.0.4.248 主Nginx:10.0.4.249 备用Nginx:10.0.4.250 2.keepalived安装 #cd /usr/local/src #wge ...

  10. UVALive 7721 K - 2-ME Set 集合dp,所有数的位或来表示状态。

    /** 题目:UVALive 7721 K - 2-ME Set 链接:https://vjudge.net/problem/UVALive-7721 题意:给定n个数,从中取出一个集合,至少包含两个 ...