PHP文件上传并解决中文文件名乱码问题

PHP文件上传并解决中文文件名乱码问题


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

if(isset($_FILES[‘file‘])){

?

????$upload=‘upload/‘.$_FILES[‘file‘][‘name‘];

?????

?????

????if(is_uploaded_file($_FILES[‘file‘][‘tmp_name‘])){

????????//iconv函数解决上传文件中文名乱码的问题,但是不提倡文件名是中文的,特别是unix/linux环境下

?????????//如果是ubuntu要从gb2312转成utf-8(即调转)

????????if(!move_uploaded_file($_FILES[‘file‘][‘tmp_name‘],iconv(‘UTF-8‘,‘gb2312‘,$upload))){

????????????echo ‘failed‘;

????????}else{

????????????echo ‘success‘;

????????}

????}

????else{

????????echo ‘failed‘;

????}

}

?>

关于iconv函数的应用:string?iconv?( string?in_charset, string?out_charset, string?str?)

in_charset:传入的文件的格式

out_charset:输出的文件的格式

str:文件路径

?

来自为知笔记(Wiz)

时间: 2024-10-07 09:55:45

PHP文件上传并解决中文文件名乱码问题的相关文章

SpringCloud上传文件,经过Zuul,中文文件名乱码解决办法

SpringCloud上传文件,经过Zuul,中文文件名乱码解决办法 2018-03-17 最近在使用SpringCloud搭建微服务的过程中,发现上传文件经过Zuul网关转发的时候,回应为上传文件名中文乱码导致文件的写操作失败,从而导致文件上传失败,但是不经过Zuul转发的时候,文件上传正常,因此猜测是Zuul对上传的请求的编码进行了处理.最终在网上找到了两种解决方案: 方案一.在上传文件的请求路径之前添加字符串“zuul”声明此请求的编码不做处理. 1 2 3 4 5 6 7 8 9 10

uploadify上传控件中文的乱码解决办法

网站用的gb2312的编码,用uploadify上传控件上传中文时在IE能部分成功,FF,Chrome则完全失败,查找了一天原因,结果发现是页面编码问题,网上说uploadify的flash是采用utf-8的编码方式. 所以上传后会出现文件名乱码的问题. 最终解决问题的方法是: 在UploadHandler.ashx里面直接加上下面几句就可以了,也不用在config里面去设置什么. public void ProcessRequest(HttpContext context) { context

Struts2 .apk 文件下载及解决中文文件名乱码问题(转)

1.Tomcat服务器不能下载 .apk类型文件 Android的APK安装包不能下载或下载文件是以 .zip为后缀名而不是 .apk为文件后缀名时,需在 Tomcat 的 web.xml 配置文件中加入以下 MIME 类型: 1 <mime-mapping> 2 <extension>apk</extension> 3 <mime-type>application/vnd.android.package-archive</mime-type>

java实现ftp文件上传下载,解决慢,中文乱码,多个文件下载等问题

//文件上传 public static boolean uploadToFTP(String url,int port,String username,String password,String path,String filename,InputStream input) { boolean success=false; FTPClient ftp=new FTPClient();//org.apache.commons.net.ftp try{ if(port>-1) { ftp.con

使用HttpClient MultipartEntityBuilder 上传文件,并解决中文文件名乱码问题

遇到一种业务场景,前端上传的文件需要经过java服务转发至文件服务.期间遇到了原生HttpClient怎么使用的问题.怎么把MultipartFile怎么重新组装成Http请求发送出去的问题.文件中文名乱码问题.最后都解决了,先上代码,再讲遇到的坑 1 @Slf4j 2 @Service 3 public class FileServiceImpl implements IFileService { 4 5 @Value("${FileService.putUrl}") 6 priva

解决Windows中的文件上传到Linux中出现乱码问题

Windows中的文件(包含中文文件名及文件内容)打包上传到Linux中解包后经常会出现中文文件名及文件内容乱码问题,此问题可通过如下方式解决: 一.首先更改linux的中文编码为GBK 临时生效:export.GBK 永久生效:编辑i18n文件,更改中文编码. vi/etc/sysconfig/i18n LANG="zh_CN.GBK" 二.将Windows系统中待上传文件(包含中文文件名及文件内容)使用7-zip工具压缩成7z格式上传到Linux系统中 三.Linux中安装7-zi

JavaWeb之文件上传与下载&amp;邮件技术(十八)

文件上传 简介 最近发现这几篇很少写简介,说自己没时间写,可能是说服自己吧.总之能多写就多写.还有个一直存在的问题,每天写的博客质量不是很好.再次说服自己,现在处于学习阶段,写博客为了巩固知识点,以便后期作复习使用.其实我每次写博客之前笔记老早都在nopad++上写好了,所以大部分在wlw上直接粘贴的,请见谅 1. 文件上传必要前提 1. form表单:属性enctype必须取值为multipart/form-data enctype的默认值是:application/x-www-form-ur

文件上传下载总结

文件下载的步骤: jsp省略: servlet代码: 1 public class DownServlet extends HttpServlet{ 2 3 @Override 4 protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { 5 req.setCharacterEncoding("utf-8"); 6 res

04.文件上传

一.             文件上传之SmartUpload 1, smartupload 2, 简单的文件上传 1)通过表单选择要上传的文件,对表单进行封装--->enctype="multipart/form-data",使其不对字符数据编码,用于包含文件上传控件时的编码10 2)文件上传步骤 实例化SmartUpload对象--->初始化上传操作--->准备上传--->保存文件. 3)出现问题及解决 首先是中文文件名的文件上传到服务器会出现乱码现象,解决