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 条评论
登录 后参与评论

相关文章

来自专栏王小雷

React Natvie在Mac os上安装并创建项目

详细记录React-Native 0.47版本在Mac OS 上安装过程并初始化项目。 ? 1. 安装RN环境 1.1 安装brew /usr/bin/ruby...

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

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

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

3925
来自专栏GreenLeaves

Oracle 删除监听程服务

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

4158
来自专栏西安-晁州

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

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

2400
来自专栏技术博文

ubuntu忘记root密码解决方法

1、重启电脑安ESC键或者F2键进入GRUB引导模式如下图所示,选择recovery mode。 2、 按e进入recovery mode 编译kernel进行...

4455
来自专栏不想当开发的产品不是好测试

linux free命令下 cached占用很大

# 背景 使用free -h命令,展示如下: ? # 解决方法 先执行sync命令,同步数据 然后执行 echo 1 > /proc/sys/vm/drop_c...

3945
来自专栏Java技术分享

SpringBoot第5小节:事务管理

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

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

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

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

4697
来自专栏菩提树下的杨过

"org.jboss.netty.internal.LoggerConfigurator".DESCRIBED is already registered 的解决办法

今天在jboss 6.2 EAP上部署一个项目时,报以下错误: org.jboss.msc.service.DuplicateServiceException:...

26110
来自专栏小白安全

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

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

3316

扫码关注云+社区

领取腾讯云代金券