php的多重上传图片功能?

2024-06-25

您好,我想为我创建一个功能,以便能够在一次提交中上传多个图像,下面是我的代码结构:

<form action="upload.php" method="post" enctype="multipart/form-data">
  <p>Image1 :<input name="image1" type="file" /></p>
  <p>Image2 :<input name="image2" type="file" /></p>
  <p>Image3 :<input name="image3" type="file" /></p>
  <input type="submit" value="Submit" />
</form>

include('configdb.php');

$uploadDir = 'upload/';

if(isset($_POST['submit']))
{
$fileName = $_FILES['image1']['name'];
$tmpName  = $_FILES['image1']['tmp_name'];
$fileSize = $_FILES['image1']['size'];
$fileType = $_FILES['image1']['type'];

$image1path = $uploadDir . $fileName;


$result = move_uploaded_file($tmpName, "$image1path");
if (!$result) {
echo "Error uploading";
exit;
}

if(!get_magic_quotes_gpc())
{
    $fileName = addslashes($fileName);
    $image1 = addslashes($image1path);
}



$sql="INSERT INTO picture (image1, image2, image3) VALUES ('$image1','$image2', $image3)";

if (!mysql_query($sql,$con))
  {
  die('Error: ' . mysql_error());
  }

}

基本上我上面的代码只上传一张图片,我怎样才能制作一个能够上传 3 张图片的函数。


这是多张上传图像的代码。您可以上传 3 张以上的图片。

<form action="upload.php" method="post" enctype="multipart/form-data">
  <p>Image1 :<input name="image[]" type="file" /></p>
  <p>Image2 :<input name="image[]" type="file" /></p>
  <p>Image3 :<input name="image[]" type="file" /></p>
  <input type="submit" name="submit" value="Submit" />
</form>

<?php
include('configdb.php');

$uploadDir = 'upload/';

if(isset($_POST['submit'])) {

    $image = array();

    foreach($_FILES['image']['name'] as $index => $name) {

        if($_FILES['image']['error'][$index] == 4) {
            continue;
        }

        if($_FILES['image']['error'][$index] == 0) {

            $fileName = $_FILES['image']['name'][$index];
            $tmpName  = $_FILES['image']['tmp_name'][$index];
            $fileSize = $_FILES['image']['size'][$index];
            $fileType = $_FILES['image']['type'][$index];

            if(($fileType == "image/gif"   ||
                $fileType == "image/jpeg"  ||
                $fileType == "image/pjpeg" ||
                $fileType == "image/png"   ||
                $fileType == "image/x-png") && 
                $fileSize < 500000) {

                $imagePath = $uploadDir . $fileName;

                $result = @move_uploaded_file($tmpName, $imagePath);
                if (!$result) {
                    echo "Error uploading";
                    exit;
                }
                $image[] = $imagePath;
            }
        }
    }
    // Save images to database
    $nbImage = count($image);
    if($nbImage) {

        $sql = "INSERT INTO picture (image1, image2, image3) VALUES (";
        for($i=0; $i<$nbImage; $i++) {
            if($i) $sql .= ",";
            $sql .= "\"".$image[$i]."\"";
        }
        $sql .= ")";

        @mysql_query($sql);
    }
}

?>

注意:出于安全考虑,您应该在上传图片之前测试图片的类型和大小。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

php的多重上传图片功能? 的相关文章

  • 如何使用 mysqli 设置排序规则?

    我的数据库使用 utf8 czech ci 排序规则 我也想将其设置为我的数据库连接 如果我不想要默认的 utf8 general ci Mysqli set charset 不会让我设置排序规则 Here https bugs php n
  • 无法加载动态库“php_wincache.dll”?

    因为我已经使用 ASP NET 所以我决定在 IIS 上使用 PHP 我使用 Wep PI 安装它 但是当我尝试安装 Composer 时 他失败并出现 PHP 设置错误 我尝试将 php ini 中的 extension dir 更改为绝
  • 检查行是否存在,Laravel

    我有以下数据库结构 items id name user id users table id name user favorites table id user id item id 在我的项目永久链接页面上 我有一个 添加到收藏夹 按钮
  • 在 PHP 中你使用复数还是单数来命名你的数组? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 当我命名数组类型变量时 我经常遇到一个困境 我使用复数还是单数命名我的数组 例如 假设我有一个名称数组 在 PHP 中我会说 names arr
  • 如何在 .css 文件中使用 php 变量

    我有一个名为test css我想用它 var var is at test php test css附于test php 我的结构是这样的 test php 这是 test css test css
  • 改变了 (un)serialize() 的行为?

    编辑 问题是现在已记录的 php 错误 https bugs php net bug php id 71617 https bugs php net bug php id 71617感谢您找到那个 Danack 我刚刚将应用程序从 PHPH
  • 在 php 文件上调用 exec 并传递参数?

    我想使用调用 php 文件exec http nz php net manual en function exec php 当我调用它时 我希望能够通过 id 传递变量 我可以打电话echo exec php var www unity s
  • 使用 2 个商户账户的 1 笔交易

    我需要设置一个账单支付系统 以允许使用 2 个商家帐户进行 1 笔交易 例如 1 个商家帐户附加到接收资金的客户 假设 30 美元的购买费用 并且附加我们将向帐单支付服务提供商收取 3 美元的帐单支付费用 因此 资金需要转入 2 个独立的商
  • 为什么在打开的文件上取消链接成功?

    为什么打开的文件被删除了 在 Windows Xamp 上 我收到消息 仍在工作 但在其他 PHP 服务器上 文件被删除 即使它已打开 并且我收到消息 文件已删除 我也可以从 FTP 删除文件 即使第一个脚本仍在工作 UNIX 系统通常允许
  • 检查 Laravel 模型是否已保存或查询是否已执行

    我见过很多人使用这种方式来检查 Laravel 模型是否已保存 所以现在我想知道这是否是一种安全的方法 我还可以检查下面的查询是否像这样执行 检查模型是否已保存 Eg myModel new User myModel gt firstnam
  • 如果我有循环引用,我可以触发 PHP 垃圾回收自动发生吗?

    我似乎记得一种设置方法 destruct对于一个类 以这样的方式确保一旦外部对象超出范围 循环引用就会被清除 然而 我构建的简单测试似乎表明这并不像我预期 希望的那样 有没有一种方法可以设置我的类 以便当最外面的对象超出范围时 PHP 可以
  • 致命错误:在非对象上调用成员函数 FetchRow()

    这是我的错误消息致命错误 Call to a member function FetchRow on a non object in C AppServ www hfix include care api classes class min
  • PHP 中的延迟加载类方法

    我有一堂课 里面有一些相当大的方法 在它的基本和最常见的状态下 大多数功能并不是必需的 所以我想知道是否有一种方法可以延迟加载类的一部分 这些方法需要能够访问私有 受保护的成员 因此如果这些方法是类的本机方法 那将是理想的选择 但是在寻找其
  • 将我的 JSON 字符串格式化为 PHP 中的
      有序列表

    我正在为一个宠物项目开发一个简单的 CMS 我目前有一个 JSON 字符串 其中包含菜单结构的页面 ID 和父页面 ID 的列表 我现在想将此字符串转换为嵌套或分层列表 有序列表 我尝试过循环查找 但似乎最终得到了过于复杂的子类范围 我正在
  • Outlook 2007 接收 html 邮件作为带有标头的源,其他 MUA 工作正常。为什么?

    我有几个简单的表单 可以发送纯 html 电子邮件 大多数客户端 Gmail Lotus Notes 8 hotmail live windows live mail outlookexpress 都能正常接收电子邮件 但 Outlook
  • 将查询错误转变为 MySQLi 中的异常[重复]

    这个问题在这里已经有答案了 我试图将 MySQLi 查询错误转为异常 但无法 mysqli sql 异常 http php net manual en class mysqli sql exception php仅当连接数据库失败时才会抛出
  • PHP、MySQL 验证故障且搜索不起作用?

    我创建了一个小的注册粘性表格 一切工作正常 但如果我输入任何错误的值 例如姓名中的数字 年龄中的字母甚至错误的电子邮件格式 那么数据仍然保存在数据库中 我无法找出验证问题 另外一个是搜索选项 每当我在搜索框中输入任何名字或姓氏时 它都应该显
  • 是否可以倒回 PDO 结果?

    我正在尝试为 PDO 语句的结果编写一个迭代器 但找不到任何回退到第一行的方法 我想避免调用 fetchAll 和存储所有结果数据的开销 first loop works fine foreach statement as result d
  • 在 imagick php 中使用 svg 原始数据生成 SVG 图像

    我正在尝试使用从 Fabric js 获取的 svg 原始数据创建 svg 图像 我使用下面的代码使用 svg 原始数据生成 svg 但它无法正常工作 public function generate svg raw svg prefix
  • 在 Woocommerce 中设置购物车商品价格后重新计算总计

    通过 set price 方法更改产品价格后 如何更改小计价格 现在在review order php中按旧价格计算总成本 cart php foreach WC gt cart gt get cart as cart item key g

随机推荐

  • 便携式数据重新解释

    我想以可移植的方式将一种类型的数据重新解释为另一种类型 C99 我是not说到选角 我想要一个重新解释一些给定的数据 另外 通过portable我的意思是它不违反 C99 规则 我这样做not意味着重新解释的值在所有系统上都是相等的 我知道
  • Formik,是的,使用 React 进行密码强度验证

    我对 React 相当陌生 我有一个注册页面 其中有一个密码字段可以使用正则表达式进行验证 我正在使用 Formik 和 Yup 进行验证 但我遇到了一个错误 当我在 密码 字段中键入时 它表示调用长度函数的属性未定义 yup中有一个名为
  • 带文本板的多行正则表达式

    我不知道如何使文本板执行扩展多行的正则表达式 我尝试使用 perl 语法与 myregex m 和 m 作为修饰符 但这不起作用 我在编辑器中看不到复选框或任何内容来告诉它执行多行操作 有人有主意吗 这是完全可能的 而且简单 你只需使用 n
  • 使用 OpenGL 进行子弹调试抽屉

    我已经摆弄了子弹一段时间 现在我想绘制调试 我有一个 opengl 世界 具有有效的子弹物理和一切 我尝试过的是这样的 我创建了一个像这样的 GLDebugDrawer 类 include LinearMath btIDebugDraw h
  • 错误 1364 (HY000):字段“MY_DATE”没有默认值

    create table MYTABLE MY DATE int NOT NULL AUTO INCREMENT NAME varchar 255 NOT NULL UNIQUE INSERT INTO MYTABLE NAME value
  • 如何连接两个字典来创建一个新字典? [复制]

    这个问题在这里已经有答案了 假设我有三个字典 d1 1 2 3 4 d2 5 6 7 9 d3 10 8 13 22 我如何创建一个新的d4结合了这三个字典 IE d4 1 2 3 4 5 6 7 9 10 8 13 22 最慢并且在 Py
  • ConnectivityManager.getActiveNetworkInfo() / NetworkInfo 在 API 29 中已弃用。有什么替代方案?

    看起来像整个 NetworkInfo已弃用 https developer android com reference android net NetworkInfo html在 API 29 上 所以我正在寻找一种替代方法来检查网络是否已
  • python cv2.Videocapture() 不起作用,cap.isOpened() 返回 false

    cv2 Videocapture 在使用网络摄像头时工作正常 但在尝试从硬盘驱动器读取时显示错误 cap isOpened 返回 false import cv2 import numpy as np background cv2 imre
  • 从一个方法返回两个变量

    下面的代码如何正确书写 public String toString int position int xOffset int yOffset String postn String format d d position 0 positi
  • 无法加载资源:Safari 网络连接丢失

    当空闲 在后台 和锁定屏幕时在 iOS WKWebView 中发出 XMLHttpRequest 会导致请求出错 我们在 safari 控制台日志中得到以下信息 加载资源失败 网络连接丢失 有谁知道为什么 Safari 会关闭连接 还是服务
  • R包导出ICS?

    有谁知道 R 函数可以将日期和标签导出为 ics 日历格式 我已经用谷歌搜索过 但没有什么是显而易见的 但不敢相信有人还没有这样做 iCalendar 规范是非常简单 https www rfc editor org rfc rfc2445
  • 在 Flutter GestureDetector 上的 DoubleTap 上获取“详细信息”

    我正在开发一个应用程序 双击时我需要执行一些操作 但它们需要执行双击的位置 该信息通常由 onTapDown Up 等事件的详细信息携带 现在 我知道您可以在 GestureDetector 上调用 onTapDown 和 doubleTa
  • 如何在laravel中删除public文件夹

    我在 xampp 上安装了 laravel 位于http localhost laravel但要测试它我必须去localhost laravel public如何摆脱 public 我希望能够直接通过http localhost larav
  • Dojo 中的 SOAP 请求

    我试图通过 Dojo 调用 SOAP Web 服务 但没有找到有关如何发出 SOAP 请求的相关最新文档 有人有在 Dojo 中发出 SOAP 请求的经验吗 IBM 有东西here http publib boulder ibm com i
  • 将 Bootstrap config.json 文件与 Bower 结合使用

    我使用了 Bootstrap 定制器工具 http getbootstrap com customize http getbootstrap com customize 它生成一个config json每当我需要进行更改时我都会重复使用的文
  • 队列是否创建副本?

    如果我将现有对象推入队列 struct Node int x int y std vector
  • 如何在Shiny App中点击tabPanel后跳转到另一个网页

    我有以下内容Shiny http shiny rstudio com app library shiny shinyApp ui lt shinyUI navbarPage X men tabPanel icon icon home lib
  • 在 Prolog 中比较两个原子

    我一直在学习序言 我正在使用名为 prol1 1 1 的编辑器 当我给出类似的内容时 我需要编写规则来比较 2 个字符串 rel a1 b1 rel a2 b2 rel b2 c2 associatedWith X Y Z rel X Y
  • 尝试在 Prolog 中实现交换律

    我正在尝试创建一个知识库 我的问题有terminal 1 and connected 2我定义了以下规则 connected X Y connected Y X 由于我现在明白的原因 我认为 这进入了无限递归 然后 我尝试搜索SO并发现了这
  • php的多重上传图片功能?

    您好 我想为我创建一个功能 以便能够在一次提交中上传多个图像 下面是我的代码结构