Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

php 多文件上传控件(php批量上传)

作者:风外听竹   发布日期:2025-10-25   浏览:87

在PHP中,可以使用HTML的input元素和属性multiple来实现多文件上传控件。以下是一个简单的示例代码:

<form action="upload.php" method="post" enctype="multipart/form-data">
  <input type="file" name="files[]" multiple>
  <input type="submit" value="上传">
</form>

在上述代码中,<input type="file" name="files[]" multiple>中的name="files[]"表示将上传的文件以数组的形式传递给服务器端的脚本。用户可以通过按住Ctrl键(在Windows系统中)或Command键(在Mac系统中)来选择多个文件。

接下来,创建一个名为upload.php的PHP脚本来处理上传的文件:

<?php
if(isset($_FILES['files'])){
    $errors = array();
    $uploadedFiles = array();
    $extension = array("jpeg","jpg","png","gif");

    foreach($_FILES['files']['tmp_name'] as $key => $tmp_name ){
        $file_name = $_FILES['files']['name'][$key];
        $file_tmp = $_FILES['files']['tmp_name'][$key];
        $file_type = $_FILES['files']['type'][$key];
        $file_size = $_FILES['files']['size'][$key];
        $file_ext = strtolower(pathinfo($file_name, PATHINFO_EXTENSION));

        if(in_array($file_ext,$extension) === false){
            $errors[] = "只允许上传图片文件";
        }

        if($file_size > 2097152){
            $errors[] = '文件大小超过限制';
        }

        if(empty($errors)==true){
            move_uploaded_file($file_tmp,"uploads/".$file_name);
            $uploadedFiles[] = $file_name;
        }else{
            print_r($errors);
        }
    }

    if(empty($uploadedFiles)==false){
        echo count($uploadedFiles)." 文件上传成功!\n";
        echo "文件列表:\n";
        foreach($uploadedFiles as $file){
            echo $file."\n";
        }
    }
}
?>

在上述代码中,首先检查是否有文件被上传,然后遍历上传的每个文件。对于每个文件,检查文件的类型和大小是否满足要求。如果满足要求,则将文件移动到指定的目录(在本例中是uploads/目录),并将文件名存储在$uploadedFiles数组中。如果有任何错误发生,则将错误信息打印出来。

最后,如果有文件上传成功,则输出上传的文件数量和文件列表。

请注意,为了使上传文件的大小限制生效,需要在php.ini文件中修改以下配置项:

upload_max_filesize = 2M
post_max_size = 8M

上述代码仅提供了一个简单的示例,你可以根据自己的需求进行修改和扩展。

上一篇:php 0e ctf

下一篇:php获得文件夹名称(php读取文件夹所有文件)

大家都在看

php session用法

php 定义常量

phpisset函数

php html转图片

php后端

php爬虫框架

php读取csv文件

php+mysql动态网站开发

phpmyadmin docker

php session id

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站