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 :

unlink qui échoue


Sujet :

Langage PHP

  1. #1
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 830
    Points
    5 830
    Billets dans le blog
    1
    Par défaut unlink qui échoue
    Bonjour,

    je voudrais effacer un fichier. Je fais cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    	$filename="...".$ligne['namefile'];
    	//deb
    	echo "filename avant unlink: ".$filename."<br>";
    	//fin
    	unlink($filename);
    Le echo montre que le nom du fichier est bon, mais il n'est pas effacé. Pourquoi ?

  2. #2
    Membre éprouvé Avatar de vorace
    Homme Profil pro
    Développeur
    Inscrit en
    Août 2010
    Messages
    573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Août 2010
    Messages : 573
    Points : 915
    Points
    915
    Par défaut
    salut,
    ca peut être tout et n'importe quoi, commence par regarder les permissions du dit fichier,...

  3. #3
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 830
    Points
    5 830
    Billets dans le blog
    1
    Par défaut
    Je viens de regarder dans le FTP, mais j'avoue que j'ai oublié comment lire ça :
    -rw-r--r-- 1 u49439467 ftpusers 6831 Feb 6 17:22 ---.jpg

  4. #4
    Membre habitué
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2010
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2010
    Messages : 111
    Points : 152
    Points
    152
    Par défaut
    -rw-r--r--
    Propriétaire: Lire écrire
    Groupe: Lire
    Tout le monde: Lire

    Fais un chmod +w et ça devrais marcher

  5. #5
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 830
    Points
    5 830
    Billets dans le blog
    1
    Par défaut
    N'étant pas sûr de mettre les droits où il fallait, j'ai fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    	$filename="...".$ligne['namefile'];
    	//deb
    	echo "filename avant unlink: ".$filename."<br>";
    	//fin
    	chmod($filename,777);
    	unlink($filename);
    mais ça ne résoud rien, et si je regarde les droits du fichier dans le FTP, ils n'ont pas changé...

  6. #6
    Membre éprouvé Avatar de vorace
    Homme Profil pro
    Développeur
    Inscrit en
    Août 2010
    Messages
    573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Août 2010
    Messages : 573
    Points : 915
    Points
    915
    Par défaut
    c'est chmod($filename,0777);
    si ca ne marche pas c'est que le fichier ne t'appartient pas donc tu ne peux pas en modifier les droits :

    Note :
    L'utilisateur courant est l'utilisateur avec lequel PHP fonctionne. Il est probablement différent de l'utilisateur que vous utilisez en mode Shell ou FTP. Le mode ne peut être modifié que par l'utilisateur à qui appartient le fichier sur la plupart des systèmes.


    Si à un moment ou un autre c'est toi qui crée se fichier, c'est à ce moment que tu dois en définir les permissions...

  7. #7
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 830
    Points
    5 830
    Billets dans le blog
    1
    Par défaut
    C'est moi qui le crée vu que je l'uploade. J'ai donc fait ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    chmod($_FILES['uploadfile']['tmp_name'],0777);
     
    if (move_uploaded_file($_FILES['uploadfile']['tmp_name'], $file)) { 
      chmod($file,0777);...
    mais ce n'est pas bon, vu que je ne peux toujours pas le supprimer...

  8. #8
    Membre éprouvé Avatar de vorace
    Homme Profil pro
    Développeur
    Inscrit en
    Août 2010
    Messages
    573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Août 2010
    Messages : 573
    Points : 915
    Points
    915
    Par défaut
    et les permissions du dossier de destination ?
    t'as quoi comme message d'erreur ?

  9. #9
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 830
    Points
    5 830
    Billets dans le blog
    1
    Par défaut
    Je viens d'activer l'affichage des erreurs là où est le unlink par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    error_reporting(E_ALL);
    et ça me donne ça :
    Warning: chmod() [function.chmod]: No such file or directory in /homepages/18/d246623212/htdocs/conf/sup_conf.php on line 33

    Warning: unlink(http://ve....jpg) [function.unlink]: No such file or directory in /homepages/18/d246623212/htdocs/conf/sup_conf.php on line 34
    sachant que le code est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    	chmod($filename,0777);
    	unlink($filename);

  10. #10
    Membre éprouvé Avatar de vorace
    Homme Profil pro
    Développeur
    Inscrit en
    Août 2010
    Messages
    573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Août 2010
    Messages : 573
    Points : 915
    Points
    915
    Par défaut
    je pense que c'est un probleme de chemin : le message d'erreur dit que le fichier ou le repertoire n'existe pas pour les deux fonctions...revois $filename qui doit etre le chemin complet et si c'est le cas as tu mis un / au debut?

  11. #11
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 830
    Points
    5 830
    Billets dans le blog
    1
    Par défaut
    si c'est le cas as tu mis un / au debut?
    mais ça commence par http:// , donc

    et si je remets l'echo, l'URL affichée est bonne...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    	//deb
    	echo "filename avant unlink: ".$filename."<br>";
    	//fin
    	chmod($filename,0777);
    	unlink($filename);

  12. #12
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 727
    Points
    10 727
    Par défaut
    tu peux pas effacer un fichier par http... (enfin pas comme ca)

  13. #13
    Membre éprouvé Avatar de vorace
    Homme Profil pro
    Développeur
    Inscrit en
    Août 2010
    Messages
    573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Août 2010
    Messages : 573
    Points : 915
    Points
    915
    Par défaut
    tu dois utiliser un chemin relatif...
    c.f. php.net :
    Note: Cette fonction ne fonctionne pas avec les fichiers distants, car le fichier utilisé doit être accessible sur le système de fichiers local.

  14. #14
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 830
    Points
    5 830
    Billets dans le blog
    1
    Par défaut
    Cette fois, j'ai mis un chemin relatif qui commence bien par / (le code pour supprimer se trouve à la racine du site), mais ça ne supprime toujours pas...

  15. #15
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 727
    Points
    10 727
    Par défaut
    Citation Envoyé par laurentSc Voir le message
    Cette fois, j'ai mis un chemin relatif qui commence bien par / (le code pour supprimer se trouve à la racine du site), mais ça ne supprime toujours pas...
    remontre le message d'erreur complet

  16. #16
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 830
    Points
    5 830
    Billets dans le blog
    1
    Par défaut
    filename avant unlink: /....jpg

    Warning: chmod() [function.chmod]: No such file or directory in /homepages/18/d246623212/htdocs/conf/sup_conf.php on line 33

    Warning: unlink(/....jpg) [function.unlink]: No such file or directory in /homepages/18/d246623212/htdocs/conf/sup_conf.php on line 34
    deleted registration
    sachant que le code est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    if ($ligne['namefile']!="") {
    	$filename="/.../".$ligne['namefile'];
    	//deb
    	echo "filename avant unlink: ".$filename."<br>";
    	//fin
    	chmod($filename,0777);
    	unlink($filename);
    	}
    $sql='delete from `conf` where nom="'.$nom.'"';
    $sql = stripslashes($sql);
    $result = mysql_query($sql) or die(mysql_error());
    echo "deleted registration";

  17. #17
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 727
    Points
    10 727
    Par défaut
    et ton fichier
    /homepages/18/d246623212/htdocs/conf/sup_conf.php

    existe ???

  18. #18
    Membre éprouvé Avatar de vorace
    Homme Profil pro
    Développeur
    Inscrit en
    Août 2010
    Messages
    573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Août 2010
    Messages : 573
    Points : 915
    Points
    915
    Par défaut
    d'ou ma question sur le premier / dans $filename, enlèves le...

  19. #19
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 830
    Points
    5 830
    Billets dans le blog
    1
    Par défaut
    oui et le code que je viens de montrer en vient...(d'ailleurs, vu qu'il signale des warnings dessus, c'est obligé qu'il existe ...)

  20. #20
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 727
    Points
    10 727
    Par défaut
    Citation Envoyé par laurentSc Voir le message
    oui et le code que je viens de montrer en vient...(d'ailleurs, vu qu'il signale des warnings dessus, c'est obligé qu'il existe ...)
    bah visiblement non : No such file or directory

    fait dans ton code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var_dump(realpath(__FILE__));
    et dis moi ce que ca donne

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [Tableaux] Requête qui échoue pour rien
    Par baleiney dans le forum Langage
    Réponses: 3
    Dernier message: 05/02/2007, 00h06
  2. [SQL-Server] sql server express + php connexion qui échoue
    Par if_zen dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 15/07/2006, 22h41
  3. [VB6] Upload fichier xls qui échoue (missing css file)
    Par pom dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 28/06/2006, 14h10
  4. [C#]Authentification qui échoue : a chaque fois "Login inco
    Par The_revival dans le forum ASP.NET
    Réponses: 3
    Dernier message: 15/04/2006, 22h36
  5. Réponses: 8
    Dernier message: 07/12/2005, 14h44

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