解压后如何删除laravel删除文件?
How to delete laravel delete file after extract?
我正在使用 Zipper 提取上传的 zip 文件并在提取后删除该文件。
所以我这样上传和提取:
$f = $request['file']->move(public_path($directory), $fullFileName);
\Zipper::make($f)->extractTo(public_path($directory) . $fileName);
而且效果很好。我试过用这些方法删除文件。
1 - Storage::disk('products')->delete($fullFileName);
2 - File::delete(public_path($directory) . $fullFileName);
3 - $del = unlink(public_path($directory) . $fullFileName);
但在所有操作中都会出现 资源暂时不可用 错误。
我发现这个错误是因为拉链(简单的文件和目录有效)。
所以我的问题是,如何在提取后删除上传的 zip 文件,使用拉链?
任何想法都会很棒。
提前致谢。
你需要在提取后调用 $zipper->close();
,所以如果你这样做,它应该可以工作:
$zipper = new \Chumper\Zipper\Zipper;
$zipper->make($f)->extractTo(public_path($directory) . $fileName);
$zipper->close();
unlink(public_path($directory) . $fullFileName);
如果你不关闭拉链,它不会将结果写入磁盘并保持原始文件锁定。见 documentation.
$zip = new Zipper;
$zip->make($pathZipFile)->extractTo($destinationPath);
$zip->close(); // important
unlink($pathZipFile); // delete Zip file after
我正在使用 Zipper 提取上传的 zip 文件并在提取后删除该文件。 所以我这样上传和提取:
$f = $request['file']->move(public_path($directory), $fullFileName);
\Zipper::make($f)->extractTo(public_path($directory) . $fileName);
而且效果很好。我试过用这些方法删除文件。
1 - Storage::disk('products')->delete($fullFileName);
2 - File::delete(public_path($directory) . $fullFileName);
3 - $del = unlink(public_path($directory) . $fullFileName);
但在所有操作中都会出现 资源暂时不可用 错误。 我发现这个错误是因为拉链(简单的文件和目录有效)。
所以我的问题是,如何在提取后删除上传的 zip 文件,使用拉链?
任何想法都会很棒。 提前致谢。
你需要在提取后调用 $zipper->close();
,所以如果你这样做,它应该可以工作:
$zipper = new \Chumper\Zipper\Zipper;
$zipper->make($f)->extractTo(public_path($directory) . $fileName);
$zipper->close();
unlink(public_path($directory) . $fullFileName);
如果你不关闭拉链,它不会将结果写入磁盘并保持原始文件锁定。见 documentation.
$zip = new Zipper;
$zip->make($pathZipFile)->extractTo($destinationPath);
$zip->close(); // important
unlink($pathZipFile); // delete Zip file after