Précédent   Forum des professionnels en informatique > PHP > Langage > Débuter
Débuter Forum d'entraide pour débuter en PHP. Avant de poster -> Cours PHP, FAQ PHP, Outils PHP, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/02/2011, 17h30   #1
Débutant
 
Homme Laurent
Webmaster
Inscription : octobre 2006
Messages : 2 873
Détails du profil
Informations personnelles :
Nom : Homme Laurent
Âge : 48
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster
Secteur : Industrie

Informations forums :
Inscription : octobre 2006
Messages : 2 873
Points : 1 320
Points : 1 320
Par défaut unlink qui échoue

Bonjour,

je voudrais effacer un fichier. Je fais cela :
Code :
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 ?
laurentSc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/02/2011, 17h37   #2
Membre émérite
 
Avatar de vorace
 
Homme
Développeur
Inscription : août 2010
Messages : 586
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 : 586
Points : 859
Points : 859
salut,
ca peut être tout et n'importe quoi, commence par regarder les permissions du dit fichier,...
vorace est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/02/2011, 17h44   #3
Débutant
 
Homme Laurent
Webmaster
Inscription : octobre 2006
Messages : 2 873
Détails du profil
Informations personnelles :
Nom : Homme Laurent
Âge : 48
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster
Secteur : Industrie

Informations forums :
Inscription : octobre 2006
Messages : 2 873
Points : 1 320
Points : 1 320
Je viens de regarder dans le FTP, mais j'avoue que j'ai oublié comment lire ça :
Citation:
-rw-r--r-- 1 u49439467 ftpusers 6831 Feb 6 17:22 ---.jpg
laurentSc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/02/2011, 18h00   #4
Membre régulier
 
Inscription : novembre 2010
Messages : 102
Détails du profil
Informations forums :
Inscription : novembre 2010
Messages : 102
Points : 86
Points : 86
-rw-r--r--
Propriétaire: Lire écrire
Groupe: Lire
Tout le monde: Lire

Fais un chmod +w et ça devrais marcher
Soull est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/02/2011, 18h26   #5
Débutant
 
Homme Laurent
Webmaster
Inscription : octobre 2006
Messages : 2 873
Détails du profil
Informations personnelles :
Nom : Homme Laurent
Âge : 48
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster
Secteur : Industrie

Informations forums :
Inscription : octobre 2006
Messages : 2 873
Points : 1 320
Points : 1 320
N'étant pas sûr de mettre les droits où il fallait, j'ai fait :
Code :
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é...
laurentSc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/02/2011, 18h57   #6
Membre émérite
 
Avatar de vorace
 
Homme
Développeur
Inscription : août 2010
Messages : 586
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 : 586
Points : 859
Points : 859
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...
vorace est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/02/2011, 19h36   #7
Débutant
 
Homme Laurent
Webmaster
Inscription : octobre 2006
Messages : 2 873
Détails du profil
Informations personnelles :
Nom : Homme Laurent
Âge : 48
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster
Secteur : Industrie

Informations forums :
Inscription : octobre 2006
Messages : 2 873
Points : 1 320
Points : 1 320
C'est moi qui le crée vu que je l'uploade. J'ai donc fait ça :
Code :
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...
laurentSc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/02/2011, 19h46   #8
Membre émérite
 
Avatar de vorace
 
Homme
Développeur
Inscription : août 2010
Messages : 586
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 : 586
Points : 859
Points : 859
et les permissions du dossier de destination ?
t'as quoi comme message d'erreur ?
vorace est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/02/2011, 21h02   #9
Débutant
 
Homme Laurent
Webmaster
Inscription : octobre 2006
Messages : 2 873
Détails du profil
Informations personnelles :
Nom : Homme Laurent
Âge : 48
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster
Secteur : Industrie

Informations forums :
Inscription : octobre 2006
Messages : 2 873
Points : 1 320
Points : 1 320
Je viens d'activer l'affichage des erreurs là où est le unlink par
Code :
error_reporting(E_ALL);
et ça me donne ça :
Citation:
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 :
1
2
	chmod($filename,0777);
	unlink($filename);
laurentSc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/02/2011, 21h30   #10
Membre émérite
 
Avatar de vorace
 
Homme
Développeur
Inscription : août 2010
Messages : 586
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 : 586
Points : 859
Points : 859
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?
vorace est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/02/2011, 21h48   #11
Débutant
 
Homme Laurent
Webmaster
Inscription : octobre 2006
Messages : 2 873
Détails du profil
Informations personnelles :
Nom : Homme Laurent
Âge : 48
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster
Secteur : Industrie

Informations forums :
Inscription : octobre 2006
Messages : 2 873
Points : 1 320
Points : 1 320
Citation:
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 :
1
2
3
4
5
	//deb
	echo "filename avant unlink: ".$filename."<br>";
	//fin
	chmod($filename,0777);
	unlink($filename);
laurentSc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/02/2011, 21h59   #12
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 466
Points : 8 466
tu peux pas effacer un fichier par http... (enfin pas comme ca)
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/02/2011, 21h59   #13
Membre émérite
 
Avatar de vorace
 
Homme
Développeur
Inscription : août 2010
Messages : 586
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 : 586
Points : 859
Points : 859
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.
vorace est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/02/2011, 22h11   #14
Débutant
 
Homme Laurent
Webmaster
Inscription : octobre 2006
Messages : 2 873
Détails du profil
Informations personnelles :
Nom : Homme Laurent
Âge : 48
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster
Secteur : Industrie

Informations forums :
Inscription : octobre 2006
Messages : 2 873
Points : 1 320
Points : 1 320
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...
laurentSc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/02/2011, 22h15   #15
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 466
Points : 8 466
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
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/02/2011, 22h22   #16
Débutant
 
Homme Laurent
Webmaster
Inscription : octobre 2006
Messages : 2 873
Détails du profil
Informations personnelles :
Nom : Homme Laurent
Âge : 48
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster
Secteur : Industrie

Informations forums :
Inscription : octobre 2006
Messages : 2 873
Points : 1 320
Points : 1 320
Citation:
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 :
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";
laurentSc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/02/2011, 22h24   #17
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 466
Points : 8 466
et ton fichier
/homepages/18/d246623212/htdocs/conf/sup_conf.php

existe ???
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/02/2011, 22h36   #18
Membre émérite
 
Avatar de vorace
 
Homme
Développeur
Inscription : août 2010
Messages : 586
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 : 586
Points : 859
Points : 859
d'ou ma question sur le premier / dans $filename, enlèves le...
vorace est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/02/2011, 22h36   #19
Débutant
 
Homme Laurent
Webmaster
Inscription : octobre 2006
Messages : 2 873
Détails du profil
Informations personnelles :
Nom : Homme Laurent
Âge : 48
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster
Secteur : Industrie

Informations forums :
Inscription : octobre 2006
Messages : 2 873
Points : 1 320
Points : 1 320
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 ...)
laurentSc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/02/2011, 22h38   #20
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 466
Points : 8 466
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 :
var_dump(realpath(__FILE__));
et dis moi ce que ca donne
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h45.


 
 
 
 
Partenaires

Hébergement Web