File::deleteDirectory('path') 不删除目录

File::deleteDirectory('path') does not remove the directory

我正在尝试删除一个包含图像的文件夹。

这是我删除文件的方法

public function deleteCar($id) {
    $car = Car::find($id);
    $carImages = carImage::where('car_id', $id);

    foreach ($carImages as $image) {
        //Just for testing purposes.
        $image->car_image_path = '/uploads/cars/32/exampleImage.png';

        $pathWords = explode('/', $image->car_image_path);
        $path = $pathWords[0] . '/' . $pathWords[1] . '/' . $pathWords[2] . '/' . $pathWords[3];
        File::deleteDirectory($path);
        $image->delete();
    }

    $car->delete();

    return response()->json(['error' => false, 'data' => $id]);
}

我想要完成的是删除文件夹,然后删除具有正确 car_id 的模型。即通过。

文件夹没有被删除,图像模型也没有。

您必须使用public_path删除目录:

File::deleteDirectory(public_path('uploads/cars/32'));

如果成功,该方法将return true,如果失败则false。 希望对你有帮助