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

相关文章

来自专栏逸鹏说道

LoTVideo:只需两步,让HTML5原生态的Video茁壮成长

新手参考: 开源地址:https://github.com/dunitian/LoTHTML5/tree/master/LoTVideo 第一步引入lotvid...

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

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

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

3305
来自专栏pangguoming

mongo 3.0 备份和还原数据库 ,及too many positional arguments错误

在mongo 3.0的操作 备份示例 ./mongodump -h localhost -d liongo -o ./ 错误方式: ./mongorestore...

3413
来自专栏王磊的博客

nodejs支持ssi实现include shtml页面

express 对于include的代码默认不处理,直接输出,没办法执行include的内容,但可以通过Nginx实现。 1、 配置nginx设置开启ssi模式...

2654
来自专栏运维技术迷

LNMP无法删除.user.ini文件的解决方法

问题 [root@tokyo wwwroot]# rm -rf dl.lianst.com/ rm: cannot remove `dl.lianst.com/...

3318
来自专栏逸鹏说道

8.GitHub实战系列~8.使用GitHub建立自己的免费博客

github实战汇总:http://www.cnblogs.com/dunitian/p/5038719.html 创建一个用户名.github.io的仓库 ?...

3238
来自专栏Play & Scala 技术分享

开源工具类CNIPRecognizer:判断是否为国内IP地址

3204
来自专栏Java Edge

Git仓库初始化

2647
来自专栏叔叔的博客

spring cloud bus 配置实时刷新问题

一、问题 当修改配置中心的配置后,需要重新加载配置才能生效,这样就比较麻烦。 为了实现配置中心的实时刷新,需要用到spring cloud bus,即消息总线。...

2927
来自专栏咖啡的代码人生

IDEA/Git 设置多个push远程仓库或者同时提交多个push仓库

具体解决办法: 在隐藏文件.git 下有个config文件,打开,在最后一行添加以下信息 [remote "all"] url = https...

3877

扫码关注云+社区