streethacker 发表于 2013-07-16 16:26

关于php文件上传的几个问题

<?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\\"的么?

witer666 发表于 2013-07-16 17:04

$_FILES["file"]["type"]每个浏览器请求上来的TYPE都可能是不同的!
路径/和\\一个意思

streethacker 发表于 2013-07-16 18:40

回复 2# witer666
关于type的那个问题,能不能再解释的具体一些呢?


   

witer666 发表于 2013-07-17 11:16

回复 3# streethacker


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

streethacker 发表于 2013-07-17 16:05

回复 4# witer666
其实我比较不明白的是,为什么要加前面这个image。比如说一张图片命名为picture.gif,那这张图片的格式不就应该是gif么?为什么上传的时候制定的这个type却要加上image变成image/gif呢?

   

witer666 发表于 2013-07-17 17:49

回复 5# streethacker


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

bacy001 发表于 2013-08-01 10:28

最好还是用专门的图形库去判断!
页: [1]
查看完整版本: 关于php文件上传的几个问题