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

How to rename and save Unzip file in php

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

这是我的代码

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

您正在更改 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');
}