php允许图片上传后缀代码

本文详细介绍了如何在PHP中使用$_FILES全局变量处理图片上传,包括文件类型检查、大小限制、临时文件管理以及确保文件的合法性,最终将文件移动到指定目录。
摘要由CSDN通过智能技术生成

php允许图片上传的后缀


$_FILES

  • 上传文件的描述信息,全部保存在系统全局变量$_FILES中
  • $_FILES以二维数组形式保存: $_FILES[‘form_file_name’][‘key’]
  • ‘form_file_name’: 对应着表单中中name属性值
  • ‘key’: 共有 5 个键名, 描述如下:
序号键名描述
1name文件在客户端的原始文件名(即存在用户电脑上的文件名)
2type文件的 MIME 类型, 由浏览器提供, PHP 并不检查它
3tmp_name文件被上传到服务器上之后,在临时目录中临时文件名
4error和该文件上传相关的错误代码
5size已上传文件的大小(单位为字节)

以下是PHP代码

<?php
//允许图片上传后缀
$allowedExts = array("jpg", "jpeg", "png", "gif");
//获取文件名
$temp = explode(".", $_FILES["file"]["name"]);
echo $_FILES["file"]["size"];
$extension = end($temp);
//判断文件是否合法
if ((($_FILES["file"]["type"] == "image/gif")
        || ($_FILES["file"]["type"] == "image/jpeg")
        || ($_FILES["file"]["type"] == "image/png")
        || ($_FILES["file"]["type"] == "image/pjpeg"))
    && ($_FILES["file"]["size"] < 2048000) //限制上传文件大小为2MB
    && in_array($extension, $allowedExts)
) {
    if ($_FILES["file"]["error"] > 0) {
        echo "错误::" . $_FILES["file"]["error"] . "<br>";
    } else {
        echo "上传文件名" . $_FILES["file"]["name"] . "<br>";
        echo "文件类型:" . $_FILES["file"]["type"] . "<br>";
        echo "文件大小:" . ($_FILES["file"]["size"] / 1024) . " kB<br>";
        echo "文件临时存储的位置:" . $_FILES["file"]["tmp_name"] . "<br>";
        //判断当前upload目录下是否存在该文件
        //如果没有upload目录,若没有需要创建它,uoload目录权限为777
        if (file_exists("uploads/" . $_FILES["file"]["name"])) {
            echo $_FILES["file"]["name"] . " 文件已经存在。";
        } else {
            //保存文件
            move_uploaded_file($_FILES["file"]["tmp_name"], "../../static/uploads/avatar/" . $_FILES["file"]["name"]);
            echo "文件存储在: " . "uploads/avatar/" . $_FILES["file"]["name"];
        }
    }
} else {
    echo "非法文件类型或文件大小超过2MB";
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值