2016-10-23 6 views
1

내가 행이 Laravel : 파일 : 파일

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'); 
    } 

을 삭제하지만 문턱 파일 삭제를하지 않고 반환 될 때 이미지를 삭제하려면이 기능을 삭제하지 마십시오 삭제합니다. 내가 뭘 잘못 했니?

업데이트 바로 $fullPath
과에서 asset을 제거하여 해결이 tutorial
에 따라 내 URL을 청소하기 전에 내 경우에는
내가 내 프로젝트에서 public을 삭제 같은 문제에 직면 할 수있는 기타에 대한
그냥 $fullPath = 'images/banner/' . $fileName;
처럼 떠나 지금은 대신 자산의

답변

1

사용 base_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'); 
    } 

사용하면 공용 폴더 안에있는 모든 이미지를 추가 할 수

업데이트

enter image description here

+0

내 이미지 폴더 내 프로젝트의 루트에 존재하지만'base_path()'에'/ 응용 프로그램을 가리 킵니다 ' –

+0

no.base 경로는 프로젝트 디렉토리의 루트를 반환 할 것이고 app_path()는 app 폴더 경로를 반환 할 것이고/public/images/banner/ – iCoders

+0

네가 맞다면 app_path() 폴더 경로가 아니라 이미지 디렉토리가 루트에 있습니다. 'app_path()'를 사용하는지 확인하십시오.'C : \ wamp \ www \ gt \ local/images/banner/0kaQfr_5.jpg'와 같은 경로를 얻습니다. 잘못된 경로 여야합니다. \ www \ gt \ images/banner/0kaQfr_5.jpg' –