zoukankan      html  css  js  c++  java
  • php 解决上传中文文件名时出现乱码的问题

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

    可以在移动文件时使用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 '未知错误';
    }
  • 相关阅读:
    Python 资源大全中文版
    python支持mysql
    angularjs集成requirejs
    javascript中的浮点数运算
    魔术方法__get()、__set()和__call()的用法
    PHP事件机制
    Elasticsearch索引mapping的写入、查看与修改(转)
    Java Socket 通信实例
    性能测试相关(TPS/RT/PV等)(转)
    使用Nginx实现灰度发布(转)
  • 原文地址:https://www.cnblogs.com/tumio/p/4905024.html
Copyright © 2011-2022 走看看