Php 删除表中的行后,如何删除图像?
删除表中的行后,如何删除图像 产品控制员: 存储功能Php 删除表中的行后,如何删除图像?,php,laravel,Php,Laravel,删除表中的行后,如何删除图像 产品控制员: 存储功能 public function store(Request $request) { $product = new Product(); $request->validate([ 'name' => 'required', 'category_id' => 'required', 'image' => 'r
public function store(Request $request)
{
$product = new Product();
$request->validate([
'name' => 'required',
'category_id' => 'required',
'image' => 'required',
'description' => 'required|min:1',
'tag' => 'required'
]);
if($request->hasFile('image')){
$image = $request->file('image');
$filename = $request->name;
$foldername = $request->name;
$imagename = $filename .'.' . $request->image->extension();
$path = public_path('images/produse/'. $filename .'/');
if(!File::exists($path)){
File::makeDirectory($path, 0777, true, true);
}
Image::make($image)->resize(200, 200)->save( public_path('images/produse/' . $foldername . '/' . $imagename ));
}
$product->name = $request->name;
$product->category_id = $request->category_id;
$product->description = $request->description;
$product->tag = $request->tag;
$product->image = "/$foldername/$imagename";
$product->save();
return redirect('/products')->with('success', 'Produs adaugat cu succes !');
}
public function destroy(Product $product)
{
$product->delete();
return redirect('/products')->with('danger', 'Produs sters cu succes !');
}
删除函数
public function store(Request $request)
{
$product = new Product();
$request->validate([
'name' => 'required',
'category_id' => 'required',
'image' => 'required',
'description' => 'required|min:1',
'tag' => 'required'
]);
if($request->hasFile('image')){
$image = $request->file('image');
$filename = $request->name;
$foldername = $request->name;
$imagename = $filename .'.' . $request->image->extension();
$path = public_path('images/produse/'. $filename .'/');
if(!File::exists($path)){
File::makeDirectory($path, 0777, true, true);
}
Image::make($image)->resize(200, 200)->save( public_path('images/produse/' . $foldername . '/' . $imagename ));
}
$product->name = $request->name;
$product->category_id = $request->category_id;
$product->description = $request->description;
$product->tag = $request->tag;
$product->image = "/$foldername/$imagename";
$product->save();
return redirect('/products')->with('success', 'Produs adaugat cu succes !');
}
public function destroy(Product $product)
{
$product->delete();
return redirect('/products')->with('danger', 'Produs sters cu succes !');
}
我想在删除产品时,删除带有该图像的文件夹。。如何执行此操作?如果要将图像的完整路径保存到产品中,可以检查公用文件夹中是否存在该文件,然后将其删除:
public function destroy(Product $product)
{
$image_path = public_path($product->image);
if (File::exists($image_path)) {
//File::delete($image_path) or;
unlink($image_path);
}
$product->delete();
return redirect('/products')->with('danger', 'Produs sters cu succes !');
}
编辑:
如果要删除整个文件夹,可以使用:
File::deleteDirectory(public_path('path/to/your/folder'));
如果要将图像的完整路径保存到产品中,可以检查公用文件夹中是否存在该文件,然后将其删除:
public function destroy(Product $product)
{
$image_path = public_path($product->image);
if (File::exists($image_path)) {
//File::delete($image_path) or;
unlink($image_path);
}
$product->delete();
return redirect('/products')->with('danger', 'Produs sters cu succes !');
}
编辑:
如果要删除整个文件夹,可以使用:
File::deleteDirectory(public_path('path/to/your/folder'));
你可以这样用
use File;
在页眉部分添加上面的行
public function destroy(Product $product)
{
$originalPath = getcwd()."/images/{$product-> image}";
if(File::exists($originalPath)){
File::delete($originalPath);
}
$product->delete();
return redirect('/products')->with('danger', 'Produs sters cu succes !');
}
您可以这样使用
use File;
在页眉部分添加上面的行
public function destroy(Product $product)
{
$originalPath = getcwd()."/images/{$product-> image}";
if(File::exists($originalPath)){
File::delete($originalPath);
}
$product->delete();
return redirect('/products')->with('danger', 'Produs sters cu succes !');
}
在删除和取消链接/删除该文件之前,请按照此操作获取
$product->image
。在删除和取消链接/删除该文件之前,获取$product->image
。所以它只会删除我的图片,我希望所有内容都有一个文件夹:):-?我更新了我的答案,你可以检查它。所以它只会删除我的图片,我希望所有内容都有一个文件夹:):-?我更新了我的答案,你可以检查它。