Bonjour,

Apés avoir uploadé une image sous Sysfony 2, je fait des tests pour supprimer l'image a l'aide de la fonction removeFile ().

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<? php
//upload le fichier
 
    public function getWebPath()
    {
        return null === $this->file ? null : $this->getUploadDir().'/'.$this->file;
    }
 
    protected function getUploadRootDir()
    {
 
        return __DIR__.'/../../../../web/'.$this->getUploadDir();
    }
 
    protected function getUploadDir()
    {
        return 'Test';
    }
 
    public function uploadFile()
    {
 
        $this->file->move($this->getUploadRootDir(), $this->file->getClientOriginalName());
 
 
        $this->file = $this->file->getClientOriginalName();
 
    }
 
     public function removeFile()
    {
 
        rmdir($this->file);
        unlink($this->getWebPath());
    }
J'ai bien définer removeFile dans mon Controlleur :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
public function deleteAction($id)
    {
        .
        .
        .
            $entity->removeFile();
 
        }
Lorsque je valide la suppression j'ai cette erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
Warning: rmdir(picture.jpg): No such file or directory in ././Entity/MyEntity.php line 268
J'ai compris le soucis c'est que faut dire a removeFile() est ce que l'image existe, il doit la trouver pour la supprimer J'ai fait ceci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
public function removeFile()
    {
        if (null === $this->file) {
            return;
        }
        else {
        rmdir($this->file);
        unlink($this->getWebPath());
        }
    }
Tjrs le même problème il se trouve que je fichier n'existe pas or qu'il est bien dans /web/Test/picture.jpg

Quelqu'un peut m'aider ?

Merci