首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用复选框从网格中选择要添加到zip以下载的文件

如何使用复选框从网格中选择要添加到zip以下载的文件
EN

Stack Overflow用户
提问于 2017-03-29 17:19:33
回答 2查看 290关注 0票数 2

我有一个目录查看器,它根据显示在网格上的目录中的文件生成行。我正在尝试添加复选框,当选中这些复选框时,这些复选框将将选定的文件添加到zip存档中。目前我的代码是

代码语言:javascript
复制
<div id="directory-list-header">
            <div class="row">
                <div class="col-md-7 col-sm-6 col-xs-10">File</div>
                <div class="col-md-1 col-sm-2 col-xs-2 text-right">Size</div>
                <div class="col-md-2 col-sm-2 hidden-xs text-right">Last Modified</div>
                <div class="col-md-2 col-sm-2 col-xs-2 text-right">Select</div>
            </div>
        </div>

        <ul id="directory-listing" class="nav nav-pills nav-stacked">

            <?php foreach($dirArray as $name => $fileInfo): ?>
                <li data-name="<?php echo $name; ?>" data-href="<?php echo $fileInfo['url_path']; ?>">
                    <a href="<?php echo $fileInfo['url_path']; ?>" class="clearfix" data-name="<?php echo $name; ?>">


                        <div class="row">
                            <span class="file-name col-md-7 col-sm-6 col-xs-9">
                                <i class="fa <?php echo $fileInfo['icon_class']; ?> fa-fw"></i>
                                <?php echo $name; ?>
                            </span>

                            <span class="file-size col-md-1 col-sm-2 col-xs-3 text-right">
                                <?php echo $fileInfo['file_size']; ?>
                            </span>

                            <span class="file-modified col-md-2 col-sm-2 hidden-xs text-right">
                                <?php echo $fileInfo['mod_time']; ?>
                            </span>

                            <span class="selected col-md-2 col-sm-2 col-xs-1 text-right">
                                <form method="get">
                                    <input type="checkbox" name="selected[]" value="<?php echo $fileInfo['url_path']; ?>">
                                </form>
                            </span>
                        </div>

我添加了<span>标记,我想我应该将选中的任何文件添加到数组中,然后使用ZipArchive()将数组发送到zip,并通过流将其提供给客户端,但是我不确定代码将如何查找复选框逻辑,因为这是我第一次进入HTML/PHP。任何帮助都将不胜感激,我已经把用户界面做好了,这只是背景工作的问题。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-03-29 17:57:54

从$_POST‘array[] _names’创建POST[] variables into an array?,从这个数组创建像这里的Download multiple files as a zip-file using php 6应答。

票数 1
EN

Stack Overflow用户

发布于 2017-03-29 17:47:52

php有一个类来完成它。

在这里了解它,http://php.net/manual/en/class.ziparchive.php

下面的代码可以解决您的问题;

代码语言:javascript
复制
<?php
  $zip = new ZipArchive;

  function addFileToZip($aFileZipName, $aFileName, $fileContent){

    if ($zip->open($aFileZipName) === TRUE) {

      $zip->addFromString($aFileName, $fileContent);

      $zip->close();

      return true;
    } else {

      return false;  

    }
  }
?>

如果这个解释不能帮助你,请张贴你的完整代码。顺便说一句,考虑使用一种更优雅的方法来生成HTML代码,比如角形或jquery。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43100079

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档