用 php 上传多个文件-ag捕鱼王app官网

用 php 上传多个文件

作者:迹忆客 最近更新:2023/03/29 浏览次数:

我们将通过将 input 标签的 name 属性指定为数组并使用 multiple 属性来介绍一种在 php 中上传多个文件的方法。form 标签的 enctype 属性值是 multipart/form-data。此方法使用 mysqli 进行数据库连接。

我们还将介绍另一种使用 pdo 在 php 中上传多个文件的方法。我们将上传文件夹中的文件,然后将它们上传到数据库。这种方法在实现上类似于第一种方法。


在 php 中使用 multiple 标签,表单中 input 属性的 name 标签中的数组和 move_uploaded_file() 函数上传多个文件

我们可以将 input 标签的 name 属性指定为一个数组来上传多个文件。input 标签使用 multiple 关键字,让我们在上传时选择多个文件。我们可以为 enctype 属性编写编码 multipart/form-data,以指定在提交表单时应如何编码表单数据。我们可以使用 mysqli 连接到数据库。move_uploaded_file() 函数将上传的文件从服务器的临时位置移动到所需位置。我们可以使用 insert sql 语句将选定的文件上传到数据库。

例如,设置与 mysqli 对象的数据库连接并将值分配给 $db 变量。使用 post 方法和编码类型为 multipart/form-data 创建一个 html 表单以上传文件。将 input 标签的 type 属性指定为 file,将 name 属性指定为 file[]。不要忘记在关闭 input 标签之前写入属性 multiple。编写 input 标签以提交表单。

检查表单是否已使用 isset() 函数提交。使用 count 函数计算上传文件的数量。将 $_files['file']['name'] 作为 count 函数的参数并将其分配给变量 $countfiles。使用 for 循环遍历上传的文件。在循环内,创建一个变量 $filename 并将其分配为 $_files['file']['name'][$i]。在根目录中创建一个名为 upload 的文件夹。使用 move_upload_file() 函数移动文件。使用 $_files['file']['tmp_name'][$i] 作为第一个参数,它是具有临时名称的文件。使用'upload/'.$filename 作为第二个参数,它是文件名和存储上传文件的位置。

运行 sql insert 查询以将文件插入数据库。将变量 $filename 作为 idname 插入到数据库的 fileup 表中。使用 $db 变量调用 query() 函数,并以 $sql 变量为参数来执行查询。

示例代码:

# php 7.*
php
if(isset($_post['submit'])){
    $countfiles = count($_files['file']['name']);
    for($i=0;$i<$countfiles;$i){
        $filename = $_files['file']['name'][$i];
        $sql = "insert into fileup(id,name) values ('$filename','$filename')";
        $db->query($sql);
        move_uploaded_file($_files['file']['tmp_name'][$i],'upload/'.$filename);
    }
}
?>
?>

输出:

select * from `fileup`
id name 
1 cfc.jpg 
2 hills.jpg

php 使用 pdo 上传数据库中的多个文件

我们可以使用 pdo 在 php 中上传多个文件。我们可以使用 pdo 对象来创建到数据库的连接。我们使用准备好的语句将文件插入到数据库中。此方法与第一种方法仅在数据库连接方面有所不同。我们也可以对这种方法使用确切的 html 表单。我们通过在文件夹和数据库中上传两个 jpg 文件来演示此方法。

例如,使用 new 关键字建立 pdo 数据库连接并将其分配给 $conn 变量。检查表单是否已使用 isset() 函数提交。使用上面的 count 函数对文件进行计数。然后,对 $query 变量编写查询以插入 idname。写占位符 ? 对于查询中的值。使用 prepare() 函数准备查询并在 $statement 变量中赋值。使用 move_uploaded_file() 函数将每个文件移动到 uplaod 文件夹。使用 execute() 函数执行查询。提供一个带有 $filename$target_file 作为函数参数的数组。

在下面的示例中,用户上传了两个 jpg 文件。首先,文件被上传到 upload 文件夹,然后它被上传到数据库。数据库包含表 fileup,它具有列 idname。要了解有关 move_uploaded_files() 函数的更多信息,请参阅 。

示例代码:

#php 7.x
php
$conn = new pdo("mysql:host=$server;dbname=$dbname","$username","$password");
$conn->setattribute(pdo::attr_errmode,pdo::errmode_exception);
if(isset($_post['submit'])){
    $countfiles = count($_files['file']['name']);
    $query = "insert into fileup (id, name) values(?,?)";
    $statement = $conn->prepare($query);
    for($i=0;$i<$countfiles;$i){
        $filename = $_files['file']['name'][$i];
        $target_file = 'upload/'.$filename;
        move_uploaded_file($_files['file']['tmp_name'][$i],$target_file);
        $statement->execute(array($filename,$target_file));
        }
  }    
?>

输出:

select * from `fileup`
id name 
1 upload/cfc.jpg 
2  upload/count.jpg 

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

如何在 php 中获取时间差的分钟数

发布时间:2023/03/29 浏览次数:204 分类:php

本文介绍了如何在 php 中获取时间差的分钟数,包括 date_diff()函数和数学公式。它包括 date_diff()函数和数学公式。

发布时间:2023/03/29 浏览次数:156 分类:php

本教程演示了如何将用户从页面重定向到 php 中的其他页面

php 分页

发布时间:2023/03/29 浏览次数:95 分类:php

本教程介绍如何在 php 中对数据库行进行分页

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便
网站地图