酆叔のBlog

  • 首页
  • 分享技术
  • 八卦黑料
  • 生活日常
  • 日记
酆叔のBlog
上辈子作恶多端,这辈子早起上班。
  1. 首页
  2. IT技术
  3. 正文

PHP 文件上传

2024年5月16日 751点热度 1人点赞 0条评论
<?php
$name=$_FILES['img']['name'];
$type=$_FILES['img']['type'];
$tmp_name=$_FILES['img']['tmp_name'];
$error=$_FILES['img']['error'];
$size=$_FILES['img']['size'];
$allowType=['uploads/png','uploads/jpg','uploads/jpeg'];

if (!in_array($type,$allowType)){
    $arr=[
        'code'=>10001,
        'info'=>'文件类型错误'
    ];
    echo json_encode($arr);
    die();
}

$allowSize=2*1024*1024;
if ($size>$allowSize){
    $arr=[
        'code'=>10002,
        'info'=>'文件大小错误'
    ];
    echo json_encode($arr);
    die();
}

$red='./img/'.date('y-m-d');
if (!file_exists($red)){
    mkdir($red,0777,true);
}

$obj=$red.'/'.$name;

$sde=move_uploaded_file($tmp_name,$obj);
if (!$sde){
    $arr=[
        'code'=>10003,
        'info'=>'文件上传错误'
    ];
    echo json_encode($arr);
    die();
}

$username=$_POST['username'];
$age=$_POST['age'];
$sex=$_POST['sex'];
$baj=$_POST['baj'];
$str=$username.'/'.$age.'/'.$sex.'/'.$baj."\r\n";
$bom=file_put_contents('day15.txt',$str,FILE_APPEND);
if ($bom){
    $arr=[
        'code'=>200,
        'info'=>'上传成功'
    ];
    echo json_encode($arr);
}else{
    $arr=[
        'code'=>500,
        'info'=>'上传失败'
    ];
    echo json_encode($arr);
}


这段代码主要是一个文件上传处理逻辑,它接收上传的文件并保存到服务器上的指定目录中,同时记录用户的其他相关信息到一个文件中。在处理过程中,会对文件类型和大小进行检查,并对文件存储目录进行管理。

接收文件信息

  • 通过 $_FILES 超全局变量获取上传文件的相关信息,如文件名 ($name)、文件类型 ($type)、临时文件名 ($tmp_name)、错误信息 ($error) 和文件大小 ($size)。

检查文件类型和大小

  • 使用一个允许的文件类型数组 $allowType,检查上传文件的类型是否在允许的范围内。如果不在范围内,则返回错误信息。
  • 检查上传文件的大小是否超出预设的限制,如果超出,则返回错误信息。

处理文件目录

  • 使用当前日期创建一个文件夹路径 $red,如果该路径不存在,则创建它。这个路径通常用于存储上传的文件。

移动文件

  • 使用 move_uploaded_file() 函数将临时文件移动到指定的目录中。如果移动失败,则返回错误信息。

处理用户数据

  • 从 $_POST 超全局变量中获取用户提交的其他数据,如用户名 ($username)、年龄 ($age)、性别 ($sex) 和其他信息 ($baj)。
  • 将这些数据格式化为字符串,并追加到一个文件 (day15.txt) 中。如果写入成功,则返回成功信息;否则,返回失败信息。
标签: PHP
最后更新:2024年7月29日

酆叔

上辈子作恶多端,这辈子早起上班。

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

最新 热点 随机
最新 热点 随机
2025/05/15 周四 晴 2025/05/12 周一 晴 2025/05/08 周四 多云 2025/05/07 周三 阵雨 2025/05/06 周二 阵雨 2025/04/30 周三 多云
改变 2025/04/28 周一 阵雨 PHP之访问修饰符 认识PHP(四)变量 认识PHP(八)面对对象的三大基本特征 Linux搭建GoLang环境
腾讯云
又拍云
订阅
订阅

COPYRIGHT © 2024 酆叔のBlog. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

豫ICP备2023016219号