PHP问题 - 上传文件名中文乱码

iconv()按要求的字符编码转换字符串

string iconv ( string $in_charset , string $out_charset , string $str )

in_charset

输入的字符集。

out_charset

输出的字符集。

str

要转换的字符串。

(啥时候有闲心加个预览吧~)

65行:“move_uploaded_file($_FILES['file']['tmp_name'],iconv("UTF-8", "gb2312", $path."/".$_FILES['file']['name']));”

upload.php

<html>
<head>
    <meta charset="UTF-8"/>
    <style>
        body{
            background-size:100%;
            display: block;
            text-align: -webkit-center;
            margin: 0;
            padding: 0;
        }
        input{
            border-bottom: 1px solid #1883ba;
            border-right-width: 0;
            border-top-width: 0;
            border-left-width: 0;
            text-align: center;
        }
    </style>
    <title>文件图片</title>
</head>
<body>
<form method="post" action="upload.php" enctype="multipart/form-data">
    <input type="hidden" name="MAX_FILE_SIZE" value="1000000"/><br/>
    选择图片:<input type="file" name="file"/><br/>
    <input type="submit" value="提交" name="submit"/><br/>
</form>
<a href="index.php">返回首页</a>
</body>
</html>



<?php
if(isset($_POST['submit'])&&$_POST['submit'])
{
    $allow_type=array("image/gif","image/jpg","image/png","image/jpeg","image/pjpeg");//对于 IE,识别 jpg 文件的类型必须是 pjpeg,对于 FireFox,必须是 jpeg
    $size=1000000;
    $path="./image";

    if(!is_dir($path))
    {
        mkdir($path);
    }
    if($_FILES['file']['size']>$size)
    {
        die("文件超过".($size/1024)."kb");
    }
    if(!in_array($_FILES['file']['type'],$allow_type))
    {
        die("文件类型不支持");
    }
    if ($_FILES["file"]["error"] > 0)
    {
        die("错误: " . $_FILES["file"]["error"] . "<br/>");
    }
    if(file_exists($path."/".$_FILES['file']['name']))
    {
        die( $_FILES['file']['name']."已存在");
    }
    if(!is_uploaded_file($_FILES['file']['tmp_name']))
    {
        die("非上传文件");
    }
    if(move_uploaded_file($_FILES['file']['tmp_name'],iconv("UTF-8", "gb2312", $path."/".$_FILES['file']['name'])))
        echo "文件上传成功<br/>".$_FILES['file']['name']."上传成功!大小为".intval($_FILES['file']['size']/1024)."kb";
    else echo"文件上传失败";
}
?>

echo "好多删不掉的空行啊";

猜你喜欢

转载自blog.csdn.net/jamie_a_girl/article/details/85247611
今日推荐