批量删除文件
This commit is contained in:
parent
f65f4129ee
commit
4683d0f404
|
|
@ -77,14 +77,31 @@ class FileManagerController extends Controller
|
|||
|
||||
/**
|
||||
* 删除文件或文件夹
|
||||
* DELETE /admin/file_manager/delete
|
||||
* DELETE /admin/file_manager/files {"path":"/xx/yy", "files":["1.jpg", "2.png"]}
|
||||
* @throws \Exception
|
||||
*/
|
||||
public function destroyFiles(Request $request): array
|
||||
{
|
||||
$requestData = json_decode($request->getContent(), true);
|
||||
$basePath = $requestData['path'] ?? '';
|
||||
$files = $requestData['files'] ?? [];
|
||||
(new FileManagerService)->deleteFiles($basePath, $files);
|
||||
return json_success('删除成功');
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 删除文件夹
|
||||
*
|
||||
* @param Request $request
|
||||
* @return array
|
||||
* @throws \Exception
|
||||
*/
|
||||
public function destroyDirectories(Request $request): array
|
||||
{
|
||||
$folderName = $request->get('name');
|
||||
(new FileManagerService)->deleteDirectoryOrFile($folderName);
|
||||
return json_success('删除成功');
|
||||
return json_success('文件夹删除成功');
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -45,7 +45,8 @@ Route::prefix($adminName)
|
|||
Route::post('file_manager/directories', [Controllers\FileManagerController::class, 'createDirectory'])->name('file_manager.create_directory');
|
||||
Route::post('file_manager/upload', [Controllers\FileManagerController::class, 'uploadFiles'])->name('file_manager.upload');
|
||||
Route::post('file_manager/rename', [Controllers\FileManagerController::class, 'rename'])->name('file_manager.rename');
|
||||
Route::delete('file_manager/delete_files', [Controllers\FileManagerController::class, 'destroyFiles'])->name('file_manager.delete_files');
|
||||
Route::delete('file_manager/files', [Controllers\FileManagerController::class, 'destroyFiles'])->name('file_manager.delete_files');
|
||||
Route::delete('file_manager/directories', [Controllers\FileManagerController::class, 'destroyDirectories'])->name('file_manager.delete_directories');
|
||||
|
||||
Route::get('logout', [Controllers\LogoutController::class, 'index'])->name('logout.index');
|
||||
|
||||
|
|
|
|||
|
|
@ -103,7 +103,7 @@ class FileManagerService
|
|||
|
||||
|
||||
/**
|
||||
* 批量删除文件或文件夹
|
||||
* 删除文件或文件夹
|
||||
*
|
||||
* @param $filePath
|
||||
* @throws \Exception
|
||||
|
|
@ -123,6 +123,26 @@ class FileManagerService
|
|||
}
|
||||
|
||||
|
||||
/**
|
||||
* 批量删除文件
|
||||
*
|
||||
* @param $basePath
|
||||
* @param $files
|
||||
*/
|
||||
public function deleteFiles($basePath, $files)
|
||||
{
|
||||
if (empty($basePath) && empty($files)) {
|
||||
return;
|
||||
}
|
||||
foreach ($files as $file) {
|
||||
$filePath = $basePath . '/' . $file;
|
||||
if (file_exists($filePath)) {
|
||||
@unlink($filePath);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 修改文件夹或者文件名称
|
||||
*
|
||||
|
|
|
|||
Loading…
Reference in New Issue