Forum-webmaster
Technique - programmation => PHP / MySQL => Message commencé par: hugs-giver le le 06-12-2007 a 10:04:08

Titre: problème de supression avec unlink
Posté par: hugs-giver le le 06-12-2007 a 10:04:08

Bonjour, ;D

j'ai un petit souci avec la fonction unlink !!! ???

j'ai fait un script qui affiche dans une page les fichier d'un repertoire "t", avec en dessous un lien direct vers le fichier, et un lien pour suprimer le fichier!

le problème, c'est que quand je clic sur le lien pour supprimer le fichier, je recoi un message d'erreur :

Warning: unlink(t/fichier.txt): Permission denied in d:\www\monsite.com\htdocs\download\efface.php on line 23
Warning: unlink(t/fichier.txt): Permission denied in d:\www\monsite.com\htdocs\download\efface.php on line 41
:'(

je pense que sa vient des droits chmod mais je ne sui pas sur!

que faut t'il faire pour que les fichier soit totalement supprimer?

voici le code :

<?php

$dir_nom = 't/'; // dossier listé (pour lister le répertoir courant : $dir_nom = '.' --> ('point')
$dir = opendir($dir_nom) or die('Erreur de listage : le répertoire n\'existe pas'); // on ouvre le contenu du dossier courant
$fichier= array(); // on déclare le tableau contenant le nom des fichiers
$dossier= array(); // on déclare le tableau contenant le nom des dossiers
$direction_site = 't/';

while($element = readdir($dir)) {
if($element != '.' && $element != '..') {
if (!is_dir($dir_nom.'/'.$element)) {
$fichier[] = $element;
}
else {
$dossier[] = $element;
}
}
}

closedir($dir);

$lienasupp = $_GET['supprimeLeFichier'];
if ($lienasupp != NULL) { unlink($lienasupp); }

if(!empty($fichier)){
sort($fichier);// pour le tri croissant, rsort() pour le tri décroissant

foreach($fichier as $lien) {
echo '</br>';
include('t/'.$lien);
echo '</br>';
echo '<a href="t/'.($lien).'">'.$lien.'</a><br />';
echo '</br>';
echo '<a href="efface.php?supprimeLeFichier=t/'.($lien).'">'.'supprimer' . $lien.'</a><br />';
echo '</br></br>';
}
}

if (isSet($_GET['supprimeLeFichier'])) { // si le paramètre a été spécifi" dans l'url,
$leNomDuFichierASupprimer = $_GET['supprimeLeFichier']; // tu récupères sa valeur
unlink($leNomDuFichierASupprimer); // et tu supprime ce fichier et lui uniquement.
}

?>

Merci de votre aide! ;)

Titre: Re:problème de supression avec unlink
Posté par: TonTon FluBB le le 07-12-2007 a 13:31:35

C'est en effet un problème de droits sur tes fichiers. Deux solutions :

- Soit tu modifie les droits via ton Logiciel FTP (bien souvent, clic droit sur le dossier / modifier les droits d'accès).

- Soit tu utilise la fonction chmod() de PHP avant de supprimer avec la fonction unlink().

Les droits d'accès doivent êtres 777. Avec PHP, la syntaxe devrait être :


Code:
chmod('dossier',0777);

Titre: Re:problème de supression avec unlink
Posté par: hugs-giver le le 07-12-2007 a 16:02:21

Citation de: TonTon FluBB le le 07-12-2007 a 13:31:35
C'est en effet un problème de droits sur tes fichiers. Deux solutions :

- Soit tu modifie les droits via ton Logiciel FTP (bien souvent, clic droit sur le dossier / modifier les droits d'accès).

- Soit tu utilise la fonction chmod() de PHP avant de supprimer avec la fonction unlink().

Les droits d'accès doivent êtres 777. Avec PHP, la syntaxe devrait être :


Code:
chmod('dossier',0777);



merci de ta réponse,
le problème c'est que j'avais déjea fait un chmod pour essayé, je l'ai fait depuis mon espace sur le serveur, je l'ai fait avec filezilla et la j'ai encors rajouter ton code en haut de la page, juste aprés le "<?php" je s'ait pas si c'est la qu'il faut le mettre!
en tout cas le répertoire "t/" ou se trouve les fichiers a suprimer est en chmod 777 sa c'est sur!!!
mais d'ou vient le problème alors? du code? la je sui complètement perdu!
merci de ton aide ;D

Titre: Re:problème de supression avec unlink
Posté par: TonTon FluBB le le 08-12-2007 a 12:09:42

Bizarre bizarre.

As-tu déjà essayé en mettant le droits d'accès sur le fichier lui-même.


Code:

chmod('url_fichier.jpg',0777);

Titre: Re:problème de supression avec unlink
Posté par: hugs-giver le le 08-12-2007 a 17:47:21

Citation de: TonTon FluBB le le 08-12-2007 a 12:09:42
Bizarre bizarre.

As-tu déjà essayé en mettant le droits d'accès sur le fichier lui-même.


Code:

chmod('url_fichier.jpg',0777);



merci pour ta reponse mais c toujour pareil!
je me sui peut être tromper?
voici le code rectifier


Code:
<?php

$dir_nom = 't/'; // dossier listé (pour lister le répertoir courant : $dir_nom = '.' --> ('point')
$dir = opendir($dir_nom) or die('Erreur de listage : le répertoire n\'existe pas'); // on ouvre le contenu du dossier courant
$fichier= array(); // on déclare le tableau contenant le nom des fichiers
$dossier= array(); // on déclare le tableau contenant le nom des dossiers
$direction_site = 't/';

while($element = readdir($dir)) {
if($element != '.' && $element != '..') {
if (!is_dir($dir_nom.'/'.$element)) {
$fichier[] = $element;
}
else {
$dossier[] = $element;
}
}
}

closedir($dir);

$lienasupp = $_GET['supprimeLeFichier'];
if ($lienasupp != NULL) { unlink($lienasupp); }

if(!empty($fichier)){
sort($fichier);// pour le tri croissant, rsort() pour le tri décroissant

foreach($fichier as $lien) {
echo '</br>';
include('t/'.$lien);
chmod("t/$lien",0777);
echo '</br>';
echo '<a href="t/'.($lien).'">'.$lien.'</a><br />';
echo '</br>';
echo '<a href="efface.php?supprimeLeFichier=t/'.($lien).'">'.'supprimer' . $lien.'</a><br />';
echo '</br></br>';
}
}

if (isSet($_GET['supprimeLeFichier'])) { // si le paramètre a été spécifi" dans l'url,
$leNomDuFichierASupprimer = $_GET['supprimeLeFichier']; // tu récupères sa valeur
unlink($leNomDuFichierASupprimer); // et tu supprime ce fichier et lui uniquement.
}

?>

Titre: Re:problème de supression avec unlink
Posté par: TonTon FluBB le le 08-12-2007 a 18:05:09

Essaye en y mettant la fonction chmod() juste avant la suppression du fichier.
Donc :

Code:

chmod(....);
unlink(......);


Sinon affiche le contenu de ta variable $leNomDuFichierASupprimer avant de supprimer pour voir ce qu'elle contient.

Titre: Re:problème de supression avec unlink
Posté par: hugs-giver le le 08-12-2007 a 18:51:33

désolé mais c'est toujour pareil!
permission denied!!!



Code:
<?php

$dir_nom = 't/'; // dossier listé (pour lister le répertoir courant : $dir_nom = '.' --> ('point')
$dir = opendir($dir_nom) or die('Erreur de listage : le répertoire n\'existe pas'); // on ouvre le contenu du dossier courant
$fichier= array(); // on déclare le tableau contenant le nom des fichiers
$dossier= array(); // on déclare le tableau contenant le nom des dossiers
$direction_site = 't/';

while($element = readdir($dir)) {
if($element != '.' && $element != '..') {
if (!is_dir($dir_nom.'/'.$element)) {
$fichier[] = $element;
}
else {
$dossier[] = $element;
}
}
}

closedir($dir);

if (isSet($_GET['supprimeLeFichier'])) { // si le paramètre a été spécifi" dans l'url,
$leNomDuFichierASupprimer = $_GET['supprimeLeFichier']; // tu récupères sa valeur
unlink($leNomDuFichierASupprimer); // et tu supprime ce fichier et lui uniquement.
}

$lienasupp = $_GET['supprimeLeFichier'];
if ($lienasupp != NULL) {
chmod("t/$lien",0777);
unlink($lienasupp); }

if(!empty($fichier)){
sort($fichier);// pour le tri croissant, rsort() pour le tri décroissant

foreach($fichier as $lien) {
echo '</br>';
include('t/'.$lien);
echo '</br>';
echo '<a href="t/'.($lien).'">'.$lien.'</a><br />';
echo '</br>';
echo '<a href="efface.php?supprimeLeFichier=t/'.($lien).'">'.'supprimer' . $lien.'</a><br />';
echo '</br></br>';
}
}



?>


Titre: Re:problème de supression avec unlink
Posté par: TonTon FluBB le le 08-12-2007 a 18:57:21

Ca ne serait pas tout bêtement une erreur du style 403 ou 401 du serveur ??

Titre: Re:problème de supression avec unlink
Posté par: hugs-giver le le 09-12-2007 a 16:11:33

Citation de: TonTon FluBB le le 08-12-2007 a 18:57:21
Ca ne serait pas tout bêtement une erreur du style 403 ou 401 du serveur ??


non, je ne pense pas, voici la page qui s'affiche avec les message d'erreur :


Warning: unlink(t/2.txt): Permission denied in d:\www\dechichulien.com\htdocs\prototype\partenaires\efface.php on line 24

Warning: unlink(t/2.txt): Permission denied in d:\www\dechichulien.com\htdocs\prototype\partenaires\efface.php on line 30



2.txt

supprimer2.txt





3.txt

supprimer3.txt




4.txt

supprimer4.txt



Titre: Re:problème de supression avec unlink
Posté par: TonTon FluBB le le 09-12-2007 a 20:35:10

Vraiment bizarre.

As tu essayé en mettant la fonction chmod() sur le répertoire qui contient le fichier à supprimer, et non pas sur le fichier lui même ?

Moi je fonctionne comme ça et je n'ai aucun problème.

Titre: Re:problème de supression avec unlink
Posté par: hugs-giver le le 10-12-2007 a 11:09:20

Citation de: TonTon FluBB le le 09-12-2007 a 20:35:10
Vraiment bizarre.

As tu essayé en mettant la fonction chmod() sur le répertoire qui contient le fichier à supprimer, et non pas sur le fichier lui même ?

Moi je fonctionne comme ça et je n'ai aucun problème.

c'est bon, j'ai trouver, j'en ai eu mar alors j'ai fait un chmod sur le site complet et la sa fonctionne!!
mais c'est danjeureux en quoi? a moin que sa ne le soi pas?

Titre: Re:problème de supression avec unlink
Posté par: TonTon FluBB le le 10-12-2007 a 12:14:18

Je ne ferais pas ça, on ne sait jamais !!

Si un chmod fonctionne sur ton site complet, cela devrait fonctionner sur le dossier contenant les fichiers ....

Titre: Re:problème de supression avec unlink
Posté par: hugs-giver le le 10-12-2007 a 19:13:08

Citation de: TonTon FluBB le le 10-12-2007 a 12:14:18
Je ne ferais pas ça, on ne sait jamais !!

Si un chmod fonctionne sur ton site complet, cela devrait fonctionner sur le dossier contenant les fichiers ....

oui j'ai du mal mi prendre dès le début!
en tout cas sa fonctionne!
merci beaucoup pour votre aide

Titre: Re:problème de supression avec unlink
Posté par: TonTon FluBB le le 10-12-2007 a 19:25:59

Rassure moi, tu à enlever les droits complet sur tout le site ?

Titre: Re:problème de supression avec unlink
Posté par: hugs-giver le le 10-12-2007 a 22:44:55

Citation de: TonTon FluBB le le 10-12-2007 a 19:25:59
Rassure moi, tu à enlever les droits complet sur tout le site ?


oui ne tinquiete pas, j'ai jute laisser les droit ssur le repertoire en question!
merci

Titre: Re:problème de supression avec unlink
Posté par: TonTon FluBB le le 10-12-2007 a 22:56:12

Content que ça fonctionne !


Forum-webmaster | Actionné par YaBB SE
© 2001-2003, YaBB SE Dev Team. Tous droits réservés.