关于php文件上传的几个问题
<?phpif((($_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\\"的么? $_FILES["file"]["type"]每个浏览器请求上来的TYPE都可能是不同的!
路径/和\\一个意思 回复 2# witer666
关于type的那个问题,能不能再解释的具体一些呢?
回复 3# streethacker
你安装多个浏览器,然后上传文件看TYPE值是不是有变化 回复 4# witer666
其实我比较不明白的是,为什么要加前面这个image。比如说一张图片命名为picture.gif,那这张图片的格式不就应该是gif么?为什么上传的时候制定的这个type却要加上image变成image/gif呢?
回复 5# streethacker
这应该 是Content-Type的问题!取的应该是Content-Type的值 最好还是用专门的图形库去判断!
页:
[1]