如何在php中重命名和保存解压缩文件

时间:2017-03-20 07:23:09

标签: php php-7 laravel-5.4

我正在尝试解压缩上传的文件并重命名并将其上传到我的服务器

这是我的代码

PHP

$fname = md5(rand()).'.csv';
                $full_path = Config::get('filesystems.disks.local.root');


                $zip = new ZipArchive;     

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

                        $zip->renameName($zip->getNameIndex(0),$fname);
                        $zip->extractTo($full_path. '/exceluploads/');
                        $zip->close();
                } else {

                        return redirect()->back()->withErrors('File is not zipped');
                }

但是这不起作用,我确信我犯了一些错误,因为我第一次使用ZipArchive

1 个答案:

答案 0 :(得分:1)

您正在更改zip文件的内容,因此您需要指定要提取的内容。

<?php
$fname = md5(rand()).'.csv';
$full_path = Config::get('filesystems.disks.local.root');

$zip = new ZipArchive;

if ($zip->open($excel_file) === TRUE) {
    $zip->renameName($zip->getNameIndex(0), $fname);
    // Please notice the $fname, passed as a parameter for extractTo
    $zip->extractTo($full_path . 'exceluploads/', $fname);
    $zip->close();
} else {
    return redirect()->back()->withErrors('File is not zipped');
}