上一篇
PSS 监控无法选择回放日期?!
想要降低网站对个人维护的依赖,人个得拥抱开放。作为网站最高权限的管理者,需要制定大的方向,适当的放开权限让游客参与进网站的建设。
无规则不成方圆,事前设置好前置条件,逐步引导用户的行为。限制的同时,加以引导,让用户成为一名合格的参与者。举个例子:充许用户修改自己的头像。除了在前端做了种种限制,服务器也不能掉以轻心,需要一套相对应过滤多毁体的程序。
PHP/**
* 获取文件后缀
* @method getFileExt
* @param string $fileName 文件名
* @return string
*/
public function getFileExt($fileName) {
$fileName = strtolower($fileName);
$data = explode('.', $fileName);
return array_pop( $data );
}
PHP/**
* 是否充许的文章后缀
* @method isAllowFileExt
* @param string $fileType 文章类型
* @param string $ext 后缀类型
* @param array $data 充许的后缀数组
* @return boolean
*/
public function isAllowFileExt($fileType, $ext, $data) {
$allow = false;
foreach($data as $index => $value){
if( $ext == $index ){
foreach($value as $key => $item){
if( $fileType == $item ){
$allow = true;
break;
}
}
}
}
return $allow;
}
PHP/**
* 限制文件大小
* @method limitFileSize
* @param string $fileSize 文件大小
* @param integer $limit 默认2M
* @return array
*/
public function limitFileSize($fileSize, $limit = 2) {
if($fileSize > $limit * 1024 * 1024){
return false;
}
return true;
}
过滤多媒体文件思路:获得上传文件后缀,限制充许上传的文件的类型,限制充许文件上传的大小。三个限制条件,可以自由组合,由此将其分离出来,独自成函数,为真正上传文件函数做好辅垫。
PHP/**
* 上传图片文件
* @method uploadImage
*/
public function uploadImage(){
$mimes = [
'gif' => 'image/gif',
'jpg' => [
'image/jpeg',
'image/pjpeg',
],
'png' => [
'image/png',
'image/x-png',
],
];
$fileName = $_FILES["file"]['name'];
$fileType = $_FILES["file"]['type'];
$fileSize = filesize($_FILES["file"]['tmp_name']);
$ext = $this->getFileExt($fileName);
if(!$this->isAllowFileExt($fileType, $ext, $mimes)) {
exit('仅支持jpg/png/gif格式的文件')
}
if(!$this->limitFileSize($fileSize)){
exit('文件不能大于2M')
}
//do something
}
※ 限制不同的文件后缀,可以制作不同的多媒体文件上传,这里只展示最常见的图片多媒体上传。
最新评论Latest comments