免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 9734 | 回复: 6
打印 上一主题 下一主题

关于php文件上传的几个问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-07-16 16:26 |只看该作者 |倒序浏览
<?php
if((($_FILES["file"]["tpye"] == "image/jpeg")
        || ($_FILES["file"]["type"] == "image/pjpeg")
        || ($_FILES["file"]["type"] == "image/gif"))
        && ($_FILES["file"]["size"] < 900000)){
                if($_FILES["file"]["error"] > 0){
                        echo "ERROR: ". $_FILES["file"]["error"]. "<br/>";
                }
                else{
                        echo "Upload: " . $_FILES["file"]["name"] . "<br/>";
                        echo "Type: " . $_FILES["file"]["type"]. "<br/>";
                        echo "Size: " . ($_FILES["file"]["size"] / 1024). "Kb" . "<br/>";
                        echo "Temp_File: " . $_FILES["file"]["tmp_name"] . "<br/>";
                       
                        if(file_exists("upload/". $_FILES["file"]["name"])){
                                echo $_FILES["file"]["name"] . " already exists!" . "<br/>";
                        }
                        else{
                                move_uploaded_file($_FILES["file"]["tmp_name"], "upload/" . $_FILES["file"]["name"]);
                                echo "Stored in: " . "upload/" . $_FILES["file"]["name"]. "<br/>";
                        }
                }
        }
else{
        echo "Invalid File" . "<br/>";
}
?>


我想请问一下,代码的第一个if条件测试中,为什么必须是$_FILES["file"]["type"] == "image/pjpeg", 而直接写成 $_FILES["file"]["type"] == "pjpeg" 或者 $_FILES["file"]["type"] == ".pjpeg" 却不行? 另外我在windows下执行该程序,为什么依然可以通过"upload/"找到路径,不是应该改成“upload\\"的么?

论坛徽章:
0
2 [报告]
发表于 2013-07-16 17:04 |只看该作者
$_FILES["file"]["type"]每个浏览器请求上来的TYPE都可能是不同的!
路径/和\\一个意思

论坛徽章:
0
3 [报告]
发表于 2013-07-16 18:40 |只看该作者
回复 2# witer666
关于type的那个问题,能不能再解释的具体一些呢?


   

论坛徽章:
0
4 [报告]
发表于 2013-07-17 11:16 |只看该作者
回复 3# streethacker


    你安装多个浏览器,然后上传文件看TYPE值是不是有变化

论坛徽章:
0
5 [报告]
发表于 2013-07-17 16:05 |只看该作者
回复 4# witer666
其实我比较不明白的是,为什么要加前面这个image。比如说一张图片命名为picture.gif,那这张图片的格式不就应该是gif么?为什么上传的时候制定的这个type却要加上image变成image/gif呢?

   

论坛徽章:
0
6 [报告]
发表于 2013-07-17 17:49 |只看该作者
回复 5# streethacker


    这应该 是Content-Type的问题!取的应该是Content-Type的值

论坛徽章:
0
7 [报告]
发表于 2013-08-01 10:28 |只看该作者
最好还是用专门的图形库去判断!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP