当前位置:

首页 > 编程开发 > 上传多张图像到PHP

上传多张图像到PHP

在我们的PHP应用程序中,尤其是基于用户的应用程序中,有时我们可能需要一次上传多个文件。借助php函数和html功能,这非常容易实现。为了使之成为可能,我们需要根据您构建代码库的方式在我们的HTML文件或部分中指定表单操作,然后使用内置函数来处理该操作。在本文中,我们将学习如何在PHP中上传多个图像,这为我们提供了从表单输入中指定所需文件、处理所有用户选择的文件以及上传或移动到所需位置的上下文。了解PHP中多个文件上传的表单操作和$_FILES当用户将任何输入放入HTML表单时,我们使用POST方法将任何

本文目录

    在我们的 PHP 应用程序中,尤其是基于用户的应用程序中,有时我们可能需要一次上传多个文件。 借助 php 函数和 html 功能,这非常容易实现。

    为了使之成为可能,我们需要根据您构建代码库的方式在我们的 HTML 文件或部分中指定表单操作,然后使用内置函数来处理该操作。

    在本文中,我们将学习如何在 PHP 中上传多个图像,这为我们提供了从表单输入中指定所需文件、处理所有用户选择的文件以及上传或移动到所需位置的上下文。

    了解 PHP 中多个文件上传的表单操作和 $_FILES

    当用户将任何输入放入 HTML 表单时,我们使用 POST 方法将任何输入(从文本到文件)发送到我们的 PHP 应用程序所在的服务器端。

    enctype='multipart/form-data' 部分指定表单数据的编码方式,当我们在表单中使用文件上传时是必需的。

    对于文件上传,我们需要输入类型文件和指定名称(可以是您决定的任何名称),文件。

    
    

    对于多文件上传,我们仍然需要输入类型文件,但现在不同的指定名称 file[] 和添加的属性 multiple。 添加 [] 表示输入字段可以处理多个文件。

    
    

    在服务器端,全局变量 $_FILES 是一个关联数组,其中包含通过 Http POST 方法上传的文件,使我们能够适当地处理文件。

    
    

    使用 move_uploaded_file() 在 PHP 中上传多张图片

    现在我们了解了基础知识,我们需要上传多个文件。 让我们创建 PHP 表单来上传多张图片。

    
    
    
    
    
    
    
    Multiple Image Upload
    
    
    
    
    
    
    
    
     $tmp_name) {
    $temp = $_FILES["files"]["tmp_name"][$key];
    $name = $_FILES["files"]["name"][$key];
    
    if (empty($temp)) {
    break;
    }
    
    $counter++;
    $UploadOk = true;
    
    $ext = pathinfo($name, PATHINFO_EXTENSION);
    if (in_array($ext, $extension) == false) {
    $UploadOk = false;
    array_push($errors, $name . " isn't an image.");
    }
    
    if ($UploadOk == true) {
    move_uploaded_file($temp, $UploadFolder . "/" . $name);
    array_push($uploadedFiles, $name);
    }
    }
    
    if ($counter > 0) {
    if (count($errors) > 0) {
    echo "Errors:";
    echo "
      "; foreach ($errors as $error) { echo "
    • " . $error . "
    • "; } echo "

    "; } if (count($uploadedFiles) > 0) { echo "Uploaded Files:"; echo "
      "; foreach ($uploadedFiles as $fileName) { echo "
    • " . $fileName . "
    • "; } echo "

    "; echo count($uploadedFiles) . " iamge(s) are successfully uploaded."; } } else { echo "Please, Select image(s) to upload."; } } ?>

    检查 $_POST[] 变量是否使用 isset() 函数设置,初始化重要变量,并设置文件上传所需的扩展名。

    if (isset($_POST["imgSubmit"])) {
    $errors = [];
    $uploadedFiles = [];
    $extension = array("jpeg", "jpg", "png");
    $UploadFolder = "images";
    

    之后,我们循环遍历已通过 $_FILES[] 变量处理过的多个图像,然后使用 pathinfo() 检查扩展名,如果为真,我们将图像移动到指定文件夹 $UploadFolder 使用 move_uploaded_file() 函数,并将图像的名称推送到 $uploadedFiles 变量。

    foreach ($_FILES["files"]["tmp_name"] as $key => $tmp_name) {
    $temp = $_FILES["files"]["tmp_name"][$key];
    $name = $_FILES["files"]["name"][$key];
    
    if (empty($temp)) {
    break;
    }
    
    $counter++;
    $UploadOk = true;
    
    $ext = pathinfo($name, PATHINFO_EXTENSION);
    if (in_array($ext, $extension) == false) {
    $UploadOk = false;
    array_push($errors, $name . " isn't an image.");
    }
    
    if ($UploadOk == true) {
    move_uploaded_file($temp, $UploadFolder . "/" . $name);
    array_push($uploadedFiles, $name);
    }
    }
    

    最后,我们显示了存在的错误和上传的文件。

    if ($counter > 0) {
    if (count($errors) > 0) {
    echo "Errors:";
    echo "
      "; foreach ($errors as $error) { echo "
    • " . $error . "
    • "; } echo "

    "; } if (count($uploadedFiles) > 0) { echo "Uploaded Files:"; echo "
      "; foreach ($uploadedFiles as $fileName) { echo "
    • " . $fileName . "
    • "; } echo "

    "; echo count($uploadedFiles) . " image(s) are successfully uploaded."; } } else { echo "Please, Select image(s) to upload."; }

    向浏览器提供的 PHP 文件。

    在 PHP 中上传多个图像

    选择图像并上传图像。

    在 PHP 中上传多个图像

    然后,显示上传的文件。

    显示上传的文件

    上传的图片:

    上传的图片

    如果您选择的文件不是图像,则会出现错误。

    error

    本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
    作者最新文章
    编程开发 后端开发 PHP编程
    相关文章 更多
    SQL增删改操作规范:INSERT、UPDATE与DELETE语句详解
    SQL增删改操作规范:INSERT、UPDATE与DELETE语句详解

    掌握SQL增删改核心规范:INSERT必须指定列清单以防结构变更错误;UPDATE和DELETE执行前务必通过SELECT确认WHERE条件范围;利用事务BEGIN/ROLLBACK机制实现误操作回滚。本文结合PostgreSQL语法与跨库差异,提供从语句编写到结果验证的完整安全操作流程,帮助开发者规避生产环境数据风险。

    接口分页查询怎么设置page和size参数
    接口分页查询怎么设置page和size参数

    遇到接口分页数据对不上?本文解析page和size参数的核心设置规则,包括起始索引选择、默认值配置及异常处理,助你避开常见的分页陷阱。

    Java发送post请求发送json数据的实现方法与代码示例
    Java发送post请求发送json数据的实现方法与代码示例

    深入解析Java发送JSON格式POST请求的实现机制,对比原生API与第三方库的代码差异,提供可复制的代码示例,并探讨超时设置、编码处理及微服务场景下的例外情况。

    php解析json内嵌json数据教程及取值方法
    php解析json内嵌json数据教程及取值方法

    本文详解PHP中json_decode处理嵌套JSON数据的机制,对比对象与数组模式的取值差异,提供防止空指针错误的健壮代码示例,帮助开发者快速定位解析失败原因。

    mysql添加字段语句及具体操作方法详解
    mysql添加字段语句及具体操作方法详解

    遇到需要给现有MySQL表增加新列的情况?本文详细解析ALTER TABLE ADD COLUMN语句的标准写法,包括如何在指定位置插入字段、设置默认值以及批量操作的技巧,助你避开锁表风险,轻松完成结构变更。

    python 雷达图开发环境搭建与验证:后端开发者实操指南
    python 雷达图开发环境搭建与验证:后端开发者实操指南

    针对后端开发者的 python 雷达图实操指南。包含基于官方文档的环境准备、venv 虚拟环境创建、pip 依赖管理及验证命令,提供清晰的排错决策图与适用边界说明。

    python 截图:环境准备、实操流程与故障排查指南
    python 截图:环境准备、实操流程与故障排查指南

    面向后端开发者的 python 截图技术文章,涵盖从环境检查、虚拟环境创建到依赖管理的完整流程。提供基于官方文档的验证命令与决策路径,帮助读者快速定位并解决截图任务中的环境问题。

    python编程语言:环境准备、实操流程与验证边界
    python编程语言:环境准备、实操流程与验证边界

    详解 python编程语言 的基础概念与实操步骤。涵盖版本检查、venv 虚拟环境隔离、pip 依赖安装及 sys.executable 验证方法,提供清晰的决策路径与适用边界说明。

    python面试准备:环境配置、实操流程与验证命令
    python面试准备:环境配置、实操流程与验证命令

    为后端开发者提供“python面试”相关的技术准备步骤,包括版本检查、虚拟环境创建、依赖安装及验证命令,严格遵循Python官方文档规范。

    python随机数开发避坑:环境隔离、标准库调用与验证流程
    python随机数开发避坑:环境隔离、标准库调用与验证流程

    详解 python随机数 开发中的环境准备与验证流程。涵盖 venv 虚拟环境创建、pip 依赖管理及 sys.executable 路径检查,帮助开发者规避版本冲突,确保代码在隔离环境中稳定运行。

    查看更多
    精品专题 更多
    装机必备
    装机必备

    正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

    Windows
    Windows

    正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

    PDF教程
    PDF教程

    正软商城PDF教程频道提供PDF编辑、转换、合并、拆分、压缩及格式处理方法,同时介绍常用PDF软件和工具的使用技巧。

    Mac软件 更多
    讯飞智作 网页版
    讯飞智作 网页版
    Windows/ macOS/ Linux

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版
    Windows/ macOS/ Linux

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    Aperty macOS版
    Aperty macOS版
    macOS

    Aperty 是 Skylum 推出的 AI 人像修图软件,支持自然肤质修饰、瑕疵处理、面部与身体调整、预设及批量同步。

    WINDOWS 更多
    讯飞智作 网页版
    讯飞智作 网页版
    Windows/ macOS/ Linux

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版
    Windows/ macOS/ Linux

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    PixTV 网页版
    PixTV 网页版
    Windows

    PixTV 是一款在浏览器中使用的 AI 视觉内容创作平台,提供图片、视频、音频、文字生成、AI 分镜、局部重绘、提示词反推和无限画布等工具,适合短剧、漫剧、广告及社交媒体内容制作。