php 判断上传文件的文件类型

$array = array(‘jpg’,’gif’,’png’,’jpeg’);

$picImg =’/upfile/upload_pic/thumbnail_1258615556.jpg’;

$img = strtolower($picImg);

//获取文件件扩展名方法一

$ext = substr($img,strrpos($img,’.’)+1);//这里是读取文件扩展名的代码

//获取文件件扩展名方法二

$ext = end(explode(‘.’,$img));

//获取文件件扩展名方法三 这是应该是最安全的了,就是用php $_FILES[‘type’]    必须是表单提交过来的

$ext = $_FILES[‘file’][‘type’];

//获取文件件扩展名方法四

$ext = getimagesize($img);//这个函数返回一个数组

if( !in_array( $ext,$array ) )
{
exit(‘缩略图地址错误,请重新上传!’);
}
else
{
echo(‘你上传的文件类型不允许’);
exit;
}

  • $_FILES[“file”][“name”] – 被上传文件的名称
  • $_FILES[“file”][“type”] – 被上传文件的类型
  • $_FILES[“file”][“size”] – 被上传文件的大小,以字节计
  • $_FILES[“file”][“tmp_name”] – 存储在服务器的文件的临时副本的名称
  • $_FILES[“file”][“error”] – 由文件上传导致的错误代码

/*
函数解析:
array 数组这个不说了
strtolower 把字符大字转换成小写
substr 字符截取,对中文处理不友好。
strrpos 判断字符出现在指定字符串中的位置
explode 分割函数,返回结果为数组
end 读取数据最后一个值
$_FILES 全局变量文件上传
getimagesize  获取图片的类型
in_array 判断当变量是否在数组中
exit 终止当前脚本运行

*/
php文件上传官方文档

0 Comments
Leave a Reply