PHP丨实现可判断类型限制大小的原生文件上传,图片上传等

记一个专门针对图片做的封装类,主要针对图片上传

代码如下:

<?php
public function uploads($file){
//判断文件类型和大小
if ((($_FILES[$file]["type"] == "image/gif") || ($_FILES[$file]["type"] == "image/jpeg") ||
($_FILES[$file]["type"] == "image/pjpeg") || ($_FILES[$file]["type"] == "image/png")) &&
($_FILES[$file]["size"] < 2072575)){ //获取文件类型 $filetype = $_FILES[$file]['type']; $preg="/image\/(.*)/"; preg_match_all($preg,$filetype,$filearr); //重命名文件 $filename = "static/uploads/".date('Ymdhis').rand(100,999).'.'.$filearr[1][0]; //上传并重命名 $fileuploads = move_uploaded_file($_FILES[$file]["tmp_name"],$filename); if ($fileuploads) { $data = ['msg'=>200,'val'=>'上传成功','img'=>$filename];
}else{
$data = ['msg'=>404,'val'=>'上传失败'];
}
return json_encode($data);
}
$data = ['msg'=>404,'val'=>'请上传正确的文件格式并且文件不能大于2m'];
return json_encode($data);
}

如有其他需求自食其力。

西顾博客

原文链接:https://24bp.cn/1280.html

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏无原型不设计

【Mockplus教程】为什么删除多个页面的时候会有提示,如何取消提示?

为了防止误操作,在删除三个及以上页面的时候,Mockplus默认会给出输入“delete”字符 完成删除的确认提示,如下图: ? 要去掉这个提示,在设置中...

2576
来自专栏西安-晁州

使用connect-multiparty限制nodejs图片上传

connect-multiparty中间件,可用于获取文件上传时各种参数,比如文件大小、格式等,具体使用: var multipart = require('c...

1990
来自专栏各种机器学习基础算法

laravel访问路由在nginx服务器上无法处理

用过laravel的童鞋们都知道,访问路径一般都是/admin/index这样的形式,可是在nginx服务器上运行代码时却会出现无法找到页面的情况,这是因为ng...

3077
来自专栏逸鹏说道

Mongodb中经常出现的错误 child process failed, exited with error number

异常处理汇总-服 务 器 http://www.cnblogs.com/dunitian/p/4522983.html 异常处理汇总-数据库系列 http:/...

3845
来自专栏Golang语言社区

Golang语言--反射的用处--代码自动生成

背景: go语言处理db、json的时候,具体代码的变量定义和db字段、json输出的时候可能不一样。 这个时候,我们需要用tag的方式来进行定义。 例如: ?...

3896
来自专栏小白安全

本地搭建安全狗无法安装插件问题的解决方法

一般是由于找不到apache服务名 其实很简单就可以解决的。 安装步骤:进入Apache安装目录下的bin目录: cd D:phpStudyAp...

2816
来自专栏Java技术分享

SpringBoot第5小节:事务管理

场景:执行2条sql语句,要么同时成功,要么同时失败。 同时操作1条或多条数据时,建议给方法加个@Transactional,查询的时候不用加事务。 ?

3206
来自专栏开源项目

Git 项目推荐 | 基于 J2Cache 的多级缓存框架

基于j2cache的理念,重新设计开发的一套分布式缓存。支持2级并不限于2级的多级缓存系统。 github地址:atoms 配置文件: <?xml versio...

3127
来自专栏GreenLeaves

Oracle 删除监听程服务

1、开始->运行->输入regidit -> ? -> ? -> ? -> ? -> ? 红框内的右键删除 2、开始->运行->输入regidit -> ? -...

2568
来自专栏深度学习之tensorflow实战篇

python生成exe,环境win10简单的小程序案例

1.直接pip安装:pip install pyinstaller ? 2.打包时,在命令行中切换到要打包的程序所在目录,直接输入下面的指令即可。 ...

3445

扫码关注云+社区