在我们的系统中,不免要上传图片,视频等文件,在上传中,需要做的一些判断,文件大小等方面。
注意:
在php.ini 中的post_max_size,upload_max_filesize默认为2M,在上传视频的时候,需要修改下,可以自行设置。
另外如果启用了内存限制,那么该值应当小于memory_limit选项的值。
在上传视频的时候,可以会需要花费些时间,当超过一定的时间,会报脚本执行超过30秒的错误,这是因为在php.ini配置文件中max_execution_time配置选项在作怪,其表示每个脚本最大允许执行时间(秒),0 表示没有限制。你可以适当调整max_execution_time的值,不推荐设定为0。
前台页面:html
1
2
3
4
5
后台页面:php 处理
1
2 <?php3 var_dump($_FILES);4 //$_FILES[‘upfile‘][‘tmp_name‘]5 //var_dump($_POST);
6 /*$size = getimagesize($_FILES[‘upfile‘][‘tmp_name‘]);7 $width = $size[0];8 $height = $size[1];*/
9 //if($width>165 || $height>216){10 // echo "图片长或宽超出限制";11 // exit;12 //}
13 /*if($_FILES[‘upfile‘][‘size‘]>20*1024*1024){14 echo "图片过大";15 }*/
16 include_once ‘common/util.php‘;17 getImgW_H($_FILES[‘upfile‘],10,2016,40,"apk");
3.common文件下 自己写的函数:util.php
/**
* @param $file_tmpname
* 限制上传文件 的 宽高,大小,后缀名
* $file = $_files[‘upfile‘],$w 最大宽度,$h 最大高度,$size 最大文件 大小(单位为kb),$type 后缀名*/
function getImgW_H($file,$w,$h,$size,$type){$imgFileName = explode(".",$file[‘name‘]);$imgExt = $imgFileName[count($imgFileName)-1];if(!in_array($imgExt,explode(‘,‘,$type))){?>
window.history.go(-1);
}if(!empty($w)&&!empty($h)){$s = getimagesize($file[‘tmp_name‘]);$width = $s[0];$height = $s[1];if($width>$w || $height>$h){?>
window.history.go(-1);
}
}if($file[‘size‘]>$size*1024){?>
window.history.go(-1);
}
}
原文:http://www.cnblogs.com/xiaoxiao2014/p/4142173.html