微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何解决php文件中文名乱码问题

PHP文件中文名乱码的解决办法:1、在PHP文件的头部加入charset代码:2、设置“iconv('utf-8','gb2312',upload/.$file[name]);”即可。

本文操作环境:Windows7系统,PHP7.1版,Dell G3电脑。

如何解决PHP文件中文名乱码问题?

PHP上传文件中文文件名乱码的解决方法

文件上传是我们在处理表单提交时候最常用的功能之一,今天写了一个小小的demo,如下:

先看结构:

html为表单提交的页面PHP为处理表单的文件,upload为上传文件所放的位置

html:

<!DOCTYPE html>
<html lang=en>
<head>
    <Meta charset=UTF-8>
    <title>文件上传</title>
</head>
<body>
<form action=file_updata.PHP method=post enctype=multipart/form-data>
    <label for=files>文件上传</label>
    <input type=file id=files name=file>
    <br/>
    <input type=submit name=submits value=提交>
</form>

</body>
</html>

  PHP

$file = $_FILES[file];
if ($file[error] > 0) {
    echo 错误: . $file[error];
} else {
    echo 文件名称: . $file[name] . </br>;
    echo 文件类型: . $file[type] . </br>;
    echo 文件大小: . ($file[size] / 1024) . K</br>;
    echo 文件临时存储的位置: . $file[tmp_name] . </br>;


    //保存上传文件
    if (file_exists(upload . $file[name])) {
        echo $file[name] . 文件已经存在;
    } else {
        //如果目录不存在则将该文件上传

        move_uploaded_file($file['tmp_name'], upload/ . $file[name]);
        echo '文件上传成功!';


    }
}

 我上传了个.txt的文件,如下:

执行:

可以看到十分的顺利,那看看结果吧 :

此时上传文件是我们想要的,但是却出现了乱码的情况,嗯,好,那就来解决吧,:

首先,在PHP文件的头部加这么一段代码

header(Content-type: text/html; charset=utf-8);

  然后定义一个变量:

$name = iconv('utf-8','gb2312',upload/.$file[name]);

  好,那我们看看整个的PHP页面

header(Content-type: text/html; charset=utf-8);
$file = $_FILES[file];
if($file[error]>0){
    echo 错误:.$file[error];
}else{
    $name = iconv('utf-8','gb2312',upload/.$file[name]);
    echo 文件名称:.$file[name].</br>;
    echo 文件类型:.$file[type].</br>;
    echo 文件大小:.($file[size]/1024).K</br>;
    echo 文件临时存储的位置:.$file[tmp_name].</br>;


    //保存上传文件
    if(file_exists(upload.$file[name])){
        echo $file[name].文件已经存在;
    }else{
        //如果目录不存在则将该文件上传
        if(move_uploaded_file($file['tmp_name'],$name)){
//            move_uploaded_file($file['tmp_name'],upload/.$file[name]);
            echo '文件上传成功!';
            echo '图片信息:';
            print_r($file);
        }
    }

  运行:

完美

推荐学习:《PHP教程

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐