无名阁,只为技术而生。流水不争先,争的是滔滔不绝。

(php $_files) php中$_FILES是什么意思 $_FILES在PHP中处理 全网首发(图文详解1)

前沿技术 Micheal 2周前 (05-10) 14次浏览 已收录 扫描二维码

(php $_files) php中$_FILES是什么意思

在PHP中,$_FILES 是一个全局变量,用来处理 HTTP 文件上传的功能。这个超全局变量会创建一个二维数组,数组中包含文件上传信息。

当一个HTML表单设定了 enctypemultipart/form-data 并且使用了 <input type="file"> 字段时,就可以通过 $_FILES 这个超全局变量来获取到上传的文件。

比如您的HTML表单如下:

<form action="upload.php" method="post" enctype="multipart/form-data">
    选择一个文件来上传:
    <input type="file" name="fileToUpload" id="fileToUpload">
    <input type="submit" value="Upload File" name="submit">
</form>

上述表单提交后,您能在PHP代码中通过 $_FILES["fileToUpload"] 配合其他运行逻辑实现文件上传。

比如下面是一个简单的处理文件上传的PHP代码示例:

<?php
    // 定义目标文件夹
    $target_dir = "uploads/";
    // 定义目标文件路径
    $target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
    // 设置初始状态为文件可上传状态
    $uploadOk = 1;
    // 获取上传文件的文件类型
    $imageFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION));
    // 检查文件是否真实或者伪造
    if(isset($_POST["submit"])) {
        // 检查上传的文件是否是图片
        $check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);
        if($check !== false) {
            echo "文件是一个图片 - " . $check["mime"] . ".";
            $uploadOk = 1;
        } else {
            echo "文件不是一个图片.";
            $uploadOk = 0;
        }
    }
    // 检查文件是否已存在
    if (file_exists($target_file)) {
        echo "抱歉,文件已存在.";
        $uploadOk = 0;
    }
    // 检查文件大小
    if ($_FILES["fileToUpload"]["size"] > 500000) {
        echo "抱歉,您的文件太大了.";
        $uploadOk = 0;
    }
    // 检查文件格式,此处我们只接受 jpg, png, jpeg, gif 格式
    if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg"
    && $imageFileType != "gif" ) {
        echo "抱歉,只允许JPG, JPEG, PNG & GIF 文件格式.";
        $uploadOk = 0;
    }
    // 检查是否 $uploadOk 设置为 0 ,即有错误发生,上传失败
    if ($uploadOk == 0) {
        echo "抱歉,您的文件未能上传.";
    // 如果文件可以上传然后尝试上传文件
    } else {
        if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
            echo "文件:". htmlspecialchars( basename( $_FILES["fileToUpload"]["name"])). " 已上传.";
        } else {
            echo "抱歉,上传您的文件时出现了问题.";
        }
    }
?>

上述代码首先定义了目标文件夹和文件路径,然后检查了文件是否是图片、文件是否已存在、文件大小以及文件格式。如果这些检查全部通过,那么文件就会被移动到设定的文件夹,否则会给出错误提示。

这只是最基础的文件上传的示例代码,请您根据实际需求调整代码逻辑和增加必要的安全措施。
Java文档解读:File类的length()方法功能解析 获取文件或文件夹大小:File.length() 全网首发(图文详解1)
git账号是什么 Git-基本使用流程 全网首发(图文详解1)

喜欢 (0)
[]
分享 (0)
关于作者:
流水不争先,争的是滔滔不绝