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 :

probleme avec unlink


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 50
    Points : 31
    Points
    31
    Par défaut probleme avec unlink
    Bonjour, j'ai un petit problème :
    Je veux supprimer une image d'un fichier avec unlink mais j'ai ce message d'erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Warning: unlink( ../images/galerie/dfdfg.jpg) [function.unlink]: No such file or directory
    Pourtant je suis sur que l'image est bien dans le chemin indiqué.

    Voici l'architecture du site :

    index
    -----admin : (galerie.php, supprimer.php ...)
    -----images-----galerie : (mes photos)

    dans la page galerie.php de l'admin j'affiche toutes les photos présentes dans la galerie (ca marche)
    avec un bouton supprimer qui envoie en post le chemin + nom de l'image en question à une page supprimer.

    J'ai vérifié en faisant un echo dans la page supprimer.php de la variable (chemin + nom) de l'image et cela fonctionne bien.

    C'est donc le code dans la page supprimer qui ne marche pas. Voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $photo=$_POST['photo-galerie'];
    $nom_repertoire = '../images/galerie/';
    $pointeur = opendir($nom_repertoire);
    unlink($photo);
    closedir($pointeur);
    le problème est que soit disant le fichier ou le dossier n'éxiste pas et pourtant ils existent et sont au bon endroit.
    Je suis dans admin, je fais un "../" pour remonter d'un cran puis "images/galerie/" pour entrer dans le bon répertoire.

    A noter que je test sur wamp en local (je ne sais pas si ca peut entrer en compte)

    Merci d'avance car je suis perdu

  2. #2
    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
    Le code que tu nous montres n'est pas en coherence avec l'erreur car dans le code, il n'y a pas le repertoire dans le unlink().
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 50
    Points : 31
    Points
    31
    Par défaut
    Et ben si, voici le message d'erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Warning: unlink( ../images/galerie/dfdfg.jpg) [function.unlink]: No such file or directory
    et mon code :
    où $photo correspond au chemin des répertoires + nom de l'image et qui affiche dans l'erreur "../images/galerie/dfdfg.jpg"

    Qui est bien ce que je recherche car ce chemin vient d'une page dans un repertoire admin donc il faut bien "../" pour revenir d'un cran.

    Merci de se pencher sur mon cas

  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
    J'espere que tu fais un controle tres strict sur l'information que tu recois du formulaire car sinon, ton script autorise la suppression de n'importe quel fichier de ton serveur.

    Pour ton problème, essai en partant de $_SERVER['DOCUMENT_ROOT']
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 50
    Points : 31
    Points
    31
    Par défaut
    J'ai trouvé qu'en remplacant les "/" par des "\" cela fonctionne !

    J'y ai testé manuellement en tapant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    unlink("..\images\galerie\dffd.jpg");
    où dffd.jpg est une de mes images et ca fonctionne !

    par contre dans mon code php j'ai un problème en instaurant ma variable car en mettant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $chemin='..\images\galerie\'.$fichier;
    l'endroit en rouge cause un problème et ne considère plus le slash ...

    Comment faire après ca fonctionnera.

  6. #6
    Membre confirmé Avatar de Inazo
    Profil pro
    Gérant - société de développement web
    Inscrit en
    Avril 2007
    Messages
    417
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Gérant - société de développement web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2007
    Messages : 417
    Points : 632
    Points
    632
    Par défaut
    Bonjour,

    Normal que le "\" te pose soucis car il échappe le caractères qui le suit.

    Donc écrit plutôt ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $chemin="..\images\galerie\".$fichier;
    Ensuite j'ai vu ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $photo=$_POST['photo-galerie'];
    C'est jouer avec le feu de faire ceci sans contrôle il vrai que vu que tu fait un opendir() avant le unlink ça limite la casse mais on sait jamais, et il vaut mieux aussi avant de supprimer un fichier vérifier qu'il existe

    Cordialement,

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 50
    Points : 31
    Points
    31
    Par défaut
    J'ai trouvé !

    Donc, pour le problême des antislashs, il suffit d'en mettre deux pour qu'il y en ai un qui apparaisse.

    Mais le problême du unlink ne venait pas de ca. Il venait que dans l'instanciation de ma variable un espace se mettait entre le chemin des dossiers et le nom de mon image.

    C'est donc résolu.

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

Discussions similaires

  1. Probleme de passage de variable avec unlink()
    Par Zocrom dans le forum Langage
    Réponses: 10
    Dernier message: 02/02/2006, 23h59
  2. Probleme avec la copie des surfaces
    Par Black_Daimond dans le forum DirectX
    Réponses: 3
    Dernier message: 09/01/2003, 10h33
  3. probleme avec la touche F10
    Par b.grellee dans le forum Langage
    Réponses: 2
    Dernier message: 15/09/2002, 22h04
  4. Probleme avec fseek
    Par Bjorn dans le forum C
    Réponses: 5
    Dernier message: 04/08/2002, 07h17
  5. [Kylix] probleme avec un imagelist
    Par NicoLinux dans le forum EDI
    Réponses: 4
    Dernier message: 08/06/2002, 23h06

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