Symfony Forms데이터베이스의 이미지 삭제 symfony2
이 모든 것이 올바르게 작동합니다. 한 가지 확실하지 않은 점은 데이터베이스의 관련 항목이 삭제 될 때 업로드 폴더에 업로드 된 이미지를 삭제하는 방법입니다.
나는 올바른 방향으로 나아가는 방법에 대한 아이디어가 정말로 필요합니다.
미리 감사드립니다.
Symfony Forms데이터베이스의 이미지 삭제 symfony2
이 모든 것이 올바르게 작동합니다. 한 가지 확실하지 않은 점은 데이터베이스의 관련 항목이 삭제 될 때 업로드 폴더에 업로드 된 이미지를 삭제하는 방법입니다.
나는 올바른 방향으로 나아가는 방법에 대한 아이디어가 정말로 필요합니다.
미리 감사드립니다.
당신은
/**
* @ORM\PostRemove
*/
public function removeUpload()
{
if(file_exists($file)) {
if ($file = $this->getAbsolutePath()) {
unlink($file);
}
}
}
... 모두 내가 엔티티에 있던 코드에 var에 덤프를 한 정확합니다. 업로드 그것은 내가 뭔가를 올바르게 파일을 삭제 다음
/**
* @ORM\PostRemove
*/
public function removeUpload() {
// ** Original Code used file but logo has the name in it.
if(file_exists($this->getAbsolutePath())) {
if ($this->getUploadRootDir() . $this->logo = $this->getAbsolutePath()) {
unlink($this->logo);
}
}
}
에 코드를 변경
$ 로고 등의 변수를 저장합니다. 둘 다 고마워.
삭제 작업에서 수동으로 파일을 삭제해야합니다. 파일 경로를 데이터베이스에 저장한다고 가정하므로 비교적 쉽습니다.
$path = ....//query db to get the path to the file
if($path){
unlink($path);
}
//now you can delete the record in the database
은 아마
Doctrine2 Lifecycles입니다 찾고 있습니다 어떤 파일
을 삭제하는 php docs를 참조하십시오. 그냥 개체에 메서드를 추가
/**
* @ORM\PreRemove
*/
public function deleteImage()
{
// unlink your image and what not.
}
은 또한 당신의 엔티티 클래스에 대한
@ORM\HasLifecycleCallbacks()
주석을 잊지 마세요. 파일 $ 파일이 비어있는 변수를 보여주는데있는 경우