我正在尝试解压缩上传的文件并重命名并将其上传到我的服务器
这是我的代码
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
。
答案 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');
}