码迷,mamicode.com
首页 > Web开发 > 详细

关于form表单上传文件的问题

时间:2015-08-06 18:48:30      阅读:269      评论:0      收藏:0      [点我收藏+]

标签:知识   上传文件   

最近在学习php,刚好学到利用表单上传文件这一知识。在学习的过程中,出现了这样几个问题,我是小白,还请高手指点。

大家都知道在上传文件时,我们要设置表单的MIME编码。默认情况,enctype的编码格:application/x-www-form-urlencoded,不能用于文件上传, 只有使用了multipart/form-data,才能完整的传递文件数据,进行下面的操作。但是我在接下来的操作中,遇到了这样的问题。

<?php
  if (isset($_POST[‘submit‘]) && $_POST[‘submit‘] != null) {
   print_r($_FILES);
   $upload_dir = ‘upload/‘;
   $tmp_name  =  $_FILES [ "upload_file" ][ "tmp_name" ];
   $name  =  $_FILES [ "upload_file" ][ "name" ];
     if(move_uploaded_file ($tmp_name,$upload_dir.$name)== true){
         echo "上传文件成功!";
    }
?>
<form action="" method="post" enctype="multipart/form-data">
上传文件:<input type="file" name="upload_file" /><br />
<input type="submit" name="submit" value="提交" />
</form>


显示错误

技术分享


起初我以为是form表单不支持word文档格式,于是找个找图片,试了一下。

技术分享



发现真的可以了!于是又找了另一张图片试了一下。

技术分享

发现又不行了!


于是就多找了几幅图片试了一下,终于发现原来只要文件名含有中文的都不行!于是把刚开始那个word文件的文件名改成了英文名a.doc,又试了一下。

技术分享


发现真的可以了!然后在upload文件夹看一下里面的内容。

技术分享

发现,文件名没有中文的都上传成功了!


总结和反思:利用form表单上传文件,文件名不能为中文。这样肯定是不合理的。如何解决这个问题呢?楼主是小白,希望各位大神给予指点。



关于form表单上传文件的问题

标签:知识   上传文件   

原文地址:http://10568028.blog.51cto.com/10558028/1682252

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!