我被困在这个问题上有一段时间了。我正在尝试从我的实时服务器上的公共文件夹中删除图像,当在本地服务器上测试时,它工作正常,当测试实时但不删除时,图像被保存到适当的文件夹。
我尝试过在其他类似的堆栈溢出问题中提到的各种方法,例如
public function deleteImages($recipe_id) {
if (file_exists(public_path() . "/assets/img/recipes/" . $recipe_id . "_square.jpg")) {
unlink(public_path() . "/assets/img/recipes/" . $recipe_id . "_square.jpg");
}
}和
File::delete(public_path() . "/assets/img/recipes/" . $recipe_id . "_square.jpg");但是图像并没有被删除。
还运行了代码
if (file_exists(public_path() . "/assets/img/recipes/" . $recipe_id . "_square.jpg")) {
dd('file exists');
}所以我知道这条路是正确的。这会不会是服务器端的权限问题而不是代码问题?
发布于 2021-11-30 17:04:00
在config/filesystems.php中
'disk' => [
'public_assets' => [
'driver' => 'local',
'root' => public_path() . '/assets',
'url' => public_path() . '/assets'
],
]上传:
$path = $request->file('file')->storeAs(
'recipes',
$filename,
'public_assets'
);删除:
use Illuminate\Support\Facades\Storage;
Storage::disk('public_assets')->delete($path);https://stackoverflow.com/questions/70172705
复制相似问题