supprimer une piece jointe

Eléphanteau du PHP | 10 Messages

19 juin 2013, 09:19

Bonjour !

Apres avoir bien galéré pour ajouter une piece jointe dans ma base, il faut aussi que je puisse la supprimer !
Je n'est pas d'erreur spécifique, juste le message de mon code.
$fichier=$_GET['fichier'];

if(!isset($erreur)) //S'il n'y a pas d'erreur, on supprime
{
	 $dossier="delete\\";
	
     if(@unlink("upload/$fichier")) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
     {
			echo 'supression effectué avec succès !';
			$id=$_GET['id'];
			$sql="update activite_professionnelle set cv='$fichier' where id='$id'";
			mysql_query($sql);
			
     }
     else //Sinon (la fonction renvoie FALSE).
     {
          echo 'Echec de la suppression !';
     }
}
else
{
     echo $erreur;
}


Voila mon code, j'espere que vous pourrez m'aider !
Merci d'avance =)
a+

ViPHP
ViPHP | 2577 Messages

19 juin 2013, 09:31

Enlèves le @ devant unlink pour voir le message d'erreur et ajoute $fichier dans le message pour vérifier le contenu de la variable.

Tu peux également vérifier l'existence du fichier avec la fonction file_ exists() avant de le supprimer.

Eléphanteau du PHP | 10 Messages

19 juin 2013, 09:34

j'ai effectivement un message d'erreur maintenant ^^

( ! ) Warning: unlink(upload/cvv.txt') [<a href='function.unlink'>function.unlink</a>]: No such file or directory in C:\wamp\www\cvtheque\deletecv.php on line 67
Call Stack
# Time Memory Function Location
1 0.0005 682456 {main}( ) ..\deletecv.php:0
2 0.0116 689656 unlink ( ) ..\deletecv.php:67


Il faut que je rajoute un fichier ?

ViPHP
ViPHP | 2577 Messages

19 juin 2013, 09:50

Il faut d'abord vérifier l'existence du fichier dans le répertoire upload.
Ensuite en fonction du chemin de la page (sur le disque), trouver le chemin du répertoire upload. Soit un chemin absolu, soit un chemin relatif.

Si tu veux calculer le chemin et ne pas le fixer une fois pour toute, tu peux faire une page avec <?PHP phpinfo(); ?> et tu trouveras toutes les infos nécessaire ($_SERVER['document_root] ?)

Eléphanteau du PHP | 10 Messages

19 juin 2013, 14:33

j'ai essayéça :
	 if (file_exists("upload\\$fichier"))
     {
			//unlink($fichier);
			unlink("C:\\wamp\\www\\cvtheque\\upload\\$fichier");
			echo 'supression effectué avec succès !';
			$id=$_GET['id'];
			$sql="update activite_professionnelle set cv='$fichier' where id='$id'";
			mysql_query($sql);
			
     }
mais ça ne marche toujours pas

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

19 juin 2013, 15:13

afficher "C:\\wamp\\www\\cvtheque\\upload\\$fichier"
pour voir ce que cela donne.

tu peux aussi utiliser des ' et la concaténation histoire d'avoir un code plus clair 'C:\wamp\www\cvtheque\upload\.'$fichier


@+
Il en faut peu pour être heureux ......

ViPHP
ViPHP | 2577 Messages

19 juin 2013, 15:24

if (file_exists("upload\\$fichier")) ne doit pas être trouvé

Eléphanteau du PHP | 10 Messages

20 juin 2013, 11:24

RE

Je n'arrive pas a afficher le chemin et je ne sais pas comment trouver l'erreur :(

ViPHP
ViPHP | 2577 Messages

20 juin 2013, 14:19

$pathfic = "C:\\wamp\\www\\cvtheque\\upload\\$fichier";
if (file_exists($pathfic))      {
                        //unlink($fichier);
                        unlink($pathfic);
                        echo 'supression effectué avec succès !';
                        $id=$_GET['id'];
                        $sql="update activite_professionnelle set cv='$fichier' where id='$id'";
                        mysql_query($sql);
                        
} else {
   echo 'fichier inconnu : "',$pathfic,'"'; 
}

Edit : Attention, tu supprimes le fichier et après tu stockes son nom dans la base. Normal ? ou mise à blanc à faire ?

Eléphanteau du PHP | 10 Messages

20 juin 2013, 16:17

fichier incconu ^^'

ViPHP
ViPHP | 2577 Messages

20 juin 2013, 20:27

et $pathfic n'affiche rien ?

Eléphanteau du PHP | 10 Messages

21 juin 2013, 09:50

désolé pour le temps de réponse, j'ai pleins de choses a faire ^^

ça affiche le message d’erreur avec le chemin a la place de $pathific

ViPHP
ViPHP | 2577 Messages

21 juin 2013, 09:56

Et le chemin n'est pas bon ? Je ne suis pas devin.

Eléphanteau du PHP | 10 Messages

21 juin 2013, 10:08

eh bien il est censé être bon mais ça marche pas :/