前言
在之前做远程文件下载到本地然后打包下载的功能中存在文件重复的问题,导致下载的压缩中有之前下载过的文件,下边介绍一种方法可以在下载之前删除指定文件夹中的文件,保证每次都是最新的文件。
解决方法
/**
* 删除指定文件夹下的内容
* @param $dirname
* @param boolean $self
* @return void
*/
function do_rmdir($dirname, $self = false)
{
//检查文件或目录是否存在
if (!file_exists($dirname)) {
return false;
}
//是文件进行删除
if (is_file($dirname) || is_link($dirname)) {
return unlink($dirname);
}
//开始读取目录
$dir = dir($dirname);
if ($dir) {
while (false !== $entry = $dir->read()) {
if ($entry == '.' || $entry == '..') {
continue;
}
//进行文件删除
do_rmdir($dirname . '/' . $entry);
}
}
//关闭目录
$dir->close();
//是否删除本身文件夹
$self && rmdir($dirname);
//成功返回
return true;
}
使用方法为直接调用,传入需要删除的文件夹路径。
//清空文件夹中的内容
do_rmdir(storage_path('app/public/document/remoteFiles/'));