Php Laravel:文件:删除don';不要删除这个文件
我有这个功能删除图像时,行被删除Php Laravel:文件:删除don';不要删除这个文件,php,file,laravel,Php,File,Laravel,我有这个功能删除图像时,行被删除 public function destroy($id) { $slider = Slider::find($id); $fileName = $slider->image; $fullPath = asset('/images/banner/' . $fileName); //dd($fullPath); File::delete($fullPath);
public function destroy($id)
{
$slider = Slider::find($id);
$fileName = $slider->image;
$fullPath = asset('/images/banner/' . $fileName);
//dd($fullPath);
File::delete($fullPath);
$slider->delete();
return Redirect::to('admin/home-slider');
}
但是sill返回时没有删除文件。
我做错了什么
更新
对于可能面临相同问题的其他人在我的例子中,我之前从我的项目中删除了
public
,以基于此清理我的URL只需从
$fullPath
中删除
资产
,并将其保留为$fullPath='images/banner/'即可解决此问题$文件名代码>
它现在工作得很好使用base\u path()
而不是资产
public function destroy($id)
{
$slider = Slider::find($id);
$fileName = $slider->image;
$fullPath = base_path().'/public/images/banner/'. $fileName;
//dd($fullPath);
File::delete($fullPath);
$slider->delete();
return Redirect::to('admin/home-slider');
}
更新
您可以将所有图像添加到公用文件夹中
my images文件夹存在于我的项目根目录中,但base\u path()
将指向/app
否。base path将返回项目目录的根目录,app\u path()将返回app文件夹路径,我相信您在/public/images/banner/是的app\u path()中有图像
将返回应用程序文件夹路径,但图像目录不在那里,它位于根目录上。查看是否使用app_path()
C:\wamp\www\gt\local/images/banner/0kaQfr\u 5.jpg
这是错误的路径,应该是这样的C:\wamp\www\gt\images/banner/0kaQfr\u 5.jpg
你能告诉我你的项目吗structure@YousefAltaf.put您可以在laravel的公用文件夹中创建所有图像,也可以在其中创建图像文件夹公用文件夹