IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Suppression de fichiers avec unlink


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Homme Profil pro
    Responsable sécurité
    Inscrit en
    Avril 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Responsable sécurité

    Informations forums :
    Inscription : Avril 2016
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Suppression de fichiers avec unlink
    Bonjour je débute en php et j'ai un souci de suppression de fichier avec unlink.
    j'ai crée deux pages pour la suppression, la première me crée un tableau avec tous les enregistrements et la deuxième supprime l’enregistrement choisi.
    deux des champs de l'enregistrement à supprimer contiennent des liens.
    Un lien vers une page et un autre lien vers une photo.
    Je n'arrive pas à supprimer automatiquement depuis la deuxième page les deux fichiers.
    Je vous mets le code des deux pages.
    Merci pour votre aide.Pièce jointe 232847Pièce jointe 232850

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Bonne Année et bienvenu sur DVP.


    Merci de copier-coller les codes directement dans le contenu du ton message (plutôt qu'en pièce jointe).

    ensuite, il suffit de cliquer l'icone "#" du mini-menu pour ajouter automatiuqment des balises [CODE].

  3. #3
    Candidat au Club
    Homme Profil pro
    Responsable sécurité
    Inscrit en
    Avril 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Responsable sécurité

    Informations forums :
    Inscription : Avril 2016
    Messages : 4
    Points : 2
    Points
    2
    Par défaut unlink
    Voici les deux pages en question:
    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
     
    <!DOCTYPE html>
     
      <head>
    	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
    	 <link href="style.css" rel="stylesheet" type="../../css/genre.css">
        <title>suppression de données en PHP :: partie 1</title>
     
      </head>
    <body>
    <table class="collapse" border="1" bgcolor="#DCDCDC">
    <td width="150px" align="center";>Type</td><td width="150px" align="center";>Sous Type</td><td width="360px" align="center";>Titre</td><td width="360px" align="center";>Fichier</td><td width="360px" align="center";>Photo</td><td width="80px" align="center";>Flag</td><td width="80px" align="center";>Action</td>
      <?php
        //connection au serveur:
       include ("connexion.php");
       //requête SQL:
     
    	$resultats=$dbh->query("SELECT * FROM fiche ORDER BY type");
    	$resultats->setFetchMode(PDO::FETCH_OBJ);
    	while( $resultat = $resultats->fetch() )
    	{
          echo "<table class=\"collapse\" border=\"1px\"><td width=\"150px\">".$resultat->type."</td><td width=\"150px\">".$resultat->soustype."</td><td width=\"360px\">".$resultat->titre."</td><td width=\"360px\">".$resultat->fichier."</td><td width=\"360px\">".$resultat->photo."</td><td width=\"80px\">".$resultat->flag."</td><td width=\"80px\"><a href=\"suppression2.php?id=".$resultat->id."\">Supprimer</a></td>\n"
            ;
        }
      ?>
     
      </table><br><br><br>
      <a href="index.html">Retour page d'accueil cliquez ici.</a>
    </body>
    </html>
    deuxieme page:

    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
    36
    37
    38
     
    <!DOCTYPE html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
     <link href="style.css" rel="stylesheet" type="../../css/genre.css">
    <title>Formulaire d'insertion, de modification, de suppression de données</title>
    </head>
    <?php
      //connection au serveur:
     include ("connexion.php");
     try { 
        //récupération de l'identifiant de la personne:
      $id = $_GET["id"] ;
     
       	//debut modification
    	//ne fonctionne pas
    	//($fichier = $_donnees['fichier WHERE $id=$_GET["id"]']
    	//($photo = $_donnees['photo WHERE $id=$_GET["id"]']
    	//unlink($fichier);
    	//unlink ($$photo);
     
    	//fin modification
     
    	//exécution de la requête SQL:
        $count=$dbh->exec("DELETE  FROM  fiche  WHERE id=$id");
    	echo '<p>' .$count.' ligne supprim&eacute;e.</p>';
    	echo '<a href="suppression1.php">Retour &agrave; la page pr&eacute;c&eacute;dente.</a>';
     
     
     $dbh = null;
     }
      catch(PDOEception $e)
      {
    		echo '<p>Erreur lors de la suppression : '.$e->getMessage().'</p>';
      } 
     
    ?>
    </html>

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu mets $_donnees dans ton deuxième code ... Mais $_donnees n'est défini nul part.
    Il faut aller lire le nom du fichier dans la base de données :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $id = $_GET["id"] ;
    $sth = $dbh->query("SELECT fichier, photo FROM  fiche WHERE id = " . intval($id));
    $donnees = $sth->fetch(PDO::FETCH_ASSOC);
    unlink(basename($donnees['fichier']));
    unlink(basename($donnees['photo']));
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Candidat au Club
    Homme Profil pro
    Responsable sécurité
    Inscrit en
    Avril 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Responsable sécurité

    Informations forums :
    Inscription : Avril 2016
    Messages : 4
    Points : 2
    Points
    2
    Par défaut unlink
    Merci sabotage pour ta réponse, j'ai modifié mon code.
    Alors ca fonctionne déja à moitié, je te mets le message d'erreur:


    ( ! ) Warning: unlink(crepes_farcies_au_champignons.htm): No such file or directory in C:\wamp\www\nouvellesrecettes\admin\suppression2.php on line 20
    Call Stack
    # Time Memory Function Location
    1 0.0014 137576 {main}( ) ..\suppression2.php:0
    2 0.0063 147568 unlink ( ) ..\suppression2.php:20

    ( ! ) Warning: unlink(toto.jpg): No such file or directory in C:\wamp\www\nouvellesrecettes\admin\suppression2.php on line 21
    Call Stack
    # Time Memory Function Location
    1 0.0014 137576 {main}( ) ..\suppression2.php:0
    2 0.0095 148048 unlink ( ) ..\suppression2.php:21
    Il manque une partie des deux adresses c a d:
    pour le fichier htm il manque le début de l'adresse: ../base/crepes_farcies_au_champignons.htm
    pour le fichier photo idem : ../images/jpg/tot.jpg

    pourtant dans l'enregistrement de la base de données ces adresses sont complètes.

    Merci pour ton aide.

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Si tu as des chemins dans ta base de données, enlève la fonction basename()
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Candidat au Club
    Homme Profil pro
    Responsable sécurité
    Inscrit en
    Avril 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Responsable sécurité

    Informations forums :
    Inscription : Avril 2016
    Messages : 4
    Points : 2
    Points
    2
    Par défaut unlink
    Merci beaucoup pour ton aide ca fonctionne parfaitement.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Suppression de fichiers avec unlink
    Par noftal dans le forum Langage
    Réponses: 4
    Dernier message: 26/05/2015, 17h52
  2. problème suppression fichier avec unlink()
    Par proxichou dans le forum Langage
    Réponses: 3
    Dernier message: 20/10/2010, 11h02
  3. [FTP] Suppression de fichiers avec unlink
    Par rodgeur62 dans le forum Langage
    Réponses: 8
    Dernier message: 03/06/2008, 11h45
  4. Réponses: 9
    Dernier message: 05/12/2007, 14h14
  5. Suppression impossible d'un fichier avec unlink
    Par oli-ola dans le forum Langage
    Réponses: 11
    Dernier message: 04/01/2006, 14h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo