PHP中如何防止修改后缀名上传? 20
我PHP项目里做了个上传图片的功能,我可以判断上传图片的后缀名,可是如何我吧TXT或者其他什么的文件改成.JPG.GIF什么的格式一样能上传,如何防止这种情况的发生呢?...
我PHP项目里做了个上传图片的功能,我可以判断上传图片的后缀名,可是如何我吧TXT或者其他什么的文件改成.JPG.GIF什么的格式一样能上传,如何防止这种情况的发生呢?
展开
2个回答
展开全部
在php的上传文件处理中都会用到一个函数
getimagesize();函数的用法$array = getimagesize(图片地址);
返回一个数组.
该函数的返回值是一个数组,内容大致如下:
Array
(
[0] => 350
[1] => 318
[2] => 2
[3] => width="350" height="318"
[bits] => 8
[channels] => 3
[mime] => image/jpeg
)
索引0给出的是图像的宽度的像素值;
索引1给出的是图像的高度的像素值;
索引2给出的是图像的类型,返回的是数字,其中1 = GIF,2 = JPG,3 = PNG,4 = SWF,5 = PSD,6 = BMP,7 = TIFF(intel byte order),8 = TIFF(motorola byte order),9 = JPC,10 = JP2,11 = JPX,12 = JB2,13 = SWC,14 = IFF,15 = WBMP,16 = XBM;
索引3给出的是一个宽度和高度的字符串,可以直接用于HTML的<image>标签;
索引bits给出的是图像的每种颜色的位数,二进制;
索引channels给出的是图像的通道值,RGB图像默认是3;
索引mime给出的是图像的MIME信息,此信息可以用来在 HTTP Content-type 头信息中发送正确的信息,如:
header("Content-type: image/jpeg");
getimagesize();函数的用法$array = getimagesize(图片地址);
返回一个数组.
该函数的返回值是一个数组,内容大致如下:
Array
(
[0] => 350
[1] => 318
[2] => 2
[3] => width="350" height="318"
[bits] => 8
[channels] => 3
[mime] => image/jpeg
)
索引0给出的是图像的宽度的像素值;
索引1给出的是图像的高度的像素值;
索引2给出的是图像的类型,返回的是数字,其中1 = GIF,2 = JPG,3 = PNG,4 = SWF,5 = PSD,6 = BMP,7 = TIFF(intel byte order),8 = TIFF(motorola byte order),9 = JPC,10 = JP2,11 = JPX,12 = JB2,13 = SWC,14 = IFF,15 = WBMP,16 = XBM;
索引3给出的是一个宽度和高度的字符串,可以直接用于HTML的<image>标签;
索引bits给出的是图像的每种颜色的位数,二进制;
索引channels给出的是图像的通道值,RGB图像默认是3;
索引mime给出的是图像的MIME信息,此信息可以用来在 HTTP Content-type 头信息中发送正确的信息,如:
header("Content-type: image/jpeg");
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询