如何上传RAR文件并使用codeigniter从中提取内容

时间:2017-08-31 02:43:29

标签: php codeigniter

我正在开发一个codeigniter项目......

我必须上传包含excel和image的Zip和RAR文件。上传后,我必须从Excel工作表中读取内容并插入数据库并将图像移动到文件夹中。

我可以解压缩并从Zip文件中获取内容,但是我无法从RAR文件中提取内容。

请帮我解决这个问题。

1 个答案:

答案 0 :(得分:-1)

PHP ZipArchieve扩展可用于提取zip文件。如果默认情况下未启用,请在php.ini中允许此扩展名。

在应用程序根目录中创建文件夹上载

function file_upload()
{
    $config['upload_path'] = './uploads/';
    $config['allowed_types'] = 'zip';
    $config['max_size']    = '';
    $this->load->library('upload', $config);
    if ( ! $this->upload->do_upload())
    {
        $error = array('error' => $this->upload->display_errors());
        $this->load->view('upload_form_view', $error);
    }
    else
    {
        $data = array('upload_data' => $this->upload->data());
        $zip = new ZipArchive;
        $file = $data['upload_data']['full_path'];
        chmod($file,0777);
        if ($zip->open($file) === TRUE) {
                $zip->extractTo('./uploads/');
                $zip->close();
                echo 'ok';
        } else {
                echo 'failed';
        }
        $this->load->view('upload_success_view', $data);
    }
}

编辑:检查此库,处理所有类型的archieve文件。

https://github.com/wapmorgan/UnifiedArchive