如何在codeigniter中将文件夹转换为Zip文件,其中文件夹包含一些图像文件

如何在codeigniter中将文件夹转换为Zip文件,其中文件夹包含一些图像文件,codeigniter,Codeigniter,在压缩codeigniter中的文件夹时,我有一些疑问。实际上,我在文件夹中有一些图像文件,我正试图在codegiter中压缩此文件夹。我有查看文件,我写了“下载所有文件”按钮。点击这个按钮,我必须采取的文件夹和压缩它。 我的视图文件: 我已经在锚标签中写了“下载所有文件”按钮 <tr> <td align="right"> <?php if(isset($AppData) && !empty($AppData)) {

在压缩codeigniter中的文件夹时,我有一些疑问。实际上,我在文件夹中有一些图像文件,我正试图在codegiter中压缩此文件夹。我有查看文件,我写了“下载所有文件”按钮。点击这个按钮,我必须采取的文件夹和压缩它。 我的视图文件: 我已经在锚标签中写了“下载所有文件”按钮

<tr>
    <td align="right">
        <?php  if(isset($AppData) && !empty($AppData)) { 
          $applicantNo = $AppData[0]['appid']; ?>
        <a href='<?php echo base_url("admin/downloadAllFileZip/$applicantNo");?>'><input type="submit" name="download" value="Download All Files" /></a> 
         <?php } ?>

    </td>
   </tr>

但当我点击“下载所有文件”按钮时,压缩的弹出窗口即将打开,下载后显示1kb文件,但该文件上没有图像。我可以将单个图像文件压缩为压缩文件,但无法压缩整个文件夹。请帮助我如何执行此操作。

像这样添加您的所有文件。例如:

foreach ($query->result() as $row)
{
    $this->zip->read_file($row->filename);
}

$this->zip->download('files_backup.zip');

要归档文件夹中的所有文件,请使用
$this->zip->read_dir()方法。例如

$path = '/path/to/folder';
$this->zip->read_dir($path); 
$this->zip->archive('/path/to/folder/foldername.zip');

更多信息。请看一看:

Zip库允许您创建Zip存档

$this->load->library('zip');
给出要添加到存档中的文件夹的路径

 $file_name='backup['.date('d-m-Y-H:i:s').'].zip';
 $this->zip->read_dir($_SERVER['DOCUMENT_ROOT']."/uploads/images",FALSE);
 $this->zip->download($file_name);

我认为对于特定文件夹上的存档文件夹,给出绝对路径是更好的方法

无需将foreach($query->result()作为$row)。我没有写任何sql查询它只是为了参考你可以像这样添加你的图像文件只是我在锚链接的参数中传递文件夹名称,在控制器中我从路径中获取文件夹名称并压缩它。我使用$this->zip->add_dir();高于$this->zip->read_file()我可以下载该文件夹,但文件夹中没有图像文件。请检查文件夹权限,它应该是755或777。不在服务器中。我可以使用相同的代码下载个人图片作为zip。我可以下载文件夹,但文件夹内没有可用的图片。无需添加$this->zip->add_dir($appId);单击“下载所有文件”按钮将其重定向到空白页,因此我添加了。我可以下载zip文件,但文件夹是空的。首先打开文件夹中的一个图像到浏览器,并将相同的url粘贴到read dir中,检查其工作情况,或者不喜欢
$this->zip->read_文件($_SERVER['DOCUMENT_ROOT']。“/uploads/img/img1.png”,FALSE)是的,可能我可以看到图像,但我已经下载了整个文件夹。在我的项目中,“文件”是包含候选注册号的文件夹名称,也是包含文档的文件夹名称。然后,无论文件夹中包含何种类型的内容,上述代码都应与
read\u dir
一起使用。@RagithThomas
$this->load->library('zip');
$path = '/path/to/your_directory/';    
$this->zip->read_dir($path);    
$this->zip->download('my_backup.zip'); 
$this->load->library('zip');
$path = '/path/to/your_directory/';    
$this->zip->read_dir($path);    
$this->zip->download('my_backup.zip');