suppression d'un répertoire

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

20 juin 2007, 14:37

Je ne t'aurais jamais croisé sur le forum, je penserais que tu ne cherches pas à comprendre :-k

Je te donne la solution complète en français, je t'ai donné la ligne en question, ce qu'il fallait faire et tu ne trouves pas :'(
function full_rmdir($dirname)
{
	if ($dirHandle = opendir($dirname))
	{
		$old_cwd = getcwd();
		chdir($dirname);
		
		while ($file = readdir($dirHandle))
		{
			if ($file == '.' || $file == '..') 
				continue;
	                
                        // Si le sous-élément est un répertoire
			if (is_dir($file))
			{
                                // Vidange et suppression de ce répertoire
				if ( !full_rmdir($file))  // <== ICI
					return false;
			}
			else
			{
				if (!unlink($file)) return false;
			}
		}
   
		closedir($dirHandle);
		chdir($old_cwd);
		
		if (!rmdir($dirname)) 
			return false;
   
		return true;
	}
	else
	{
		return false;
	}
}
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Mammouth du PHP | 536 Messages

20 juin 2007, 15:05

ben merci beaucoup nickel
En fait, j'avais bien compris ce que tu me disais, avais fait les modifs (les mêmes que toi) mais ca ne marchait ptoujours pas. C'est pour ça que j'ai insisté. Et là je viens de voir mon erreur de débutant... j'avais pas appelé la fonction, j'ai hote. :oops:
Un prof désespéré à son élève :
- Et maintenant, dessinez-moi un cercle au tableau... Voila... Alors qu'est-ce que c'est?
- Ben un cercle ?
- Non, c'est votre note, sortez !!

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

20 juin 2007, 15:21

Modération :
béka, si ta question est résolue, pense à ajouter le tag [Résolu]
pour indiquer aux personnes qui voudront consulter ce sujet qu'il contient une solution.
Tu peux réaliser cette opération en cliquant sur le bouton Image en haut à gauche de ce sujet.
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Mammouth du PHP | 536 Messages

20 juin 2007, 16:44

lorsque je laisse un champ vide, cela mon supprime mon répertoire courant. COmment interdire cele ?
J'ai essayé avec une fonction java :

Code : Tout sélectionner

function confirmation() { var msg = ""; if (document.suppr.dirname_delete.value == "") { msg += "Veuillez saisir un nom de répertoire\n"; document.suppr.dirname_delete.style.backgroundColor = "#F3C200"; window.error(msg); return false; } else { if (window.confirm('Etes-vous sûr de vouloir supprimer ce répertoire ?')) { return true; } else { return false; } } }
et dsans mon formulaire j'ai ça :

Code : Tout sélectionner

<form name="suppr" method="post" action="directory.php" onSubmit="return confirmation();">
J'ai bien la fenetre window qui s'affiche et quand je clique sur ok, ca me supr quand même mon réertoire courant.
Un prof désespéré à son élève :
- Et maintenant, dessinez-moi un cercle au tableau... Voila... Alors qu'est-ce que c'est?
- Ben un cercle ?
- Non, c'est votre note, sortez !!

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

20 juin 2007, 16:55

1/ Java != Javascript

2/ D'une manière générale, une validation JS n'est et ne doit être qu'un confort qui doit toujours être doublée d'une validation PHP. Par exemple, dans le code de ta fonction, tu peux tester qu'on ne te passes pas une chaine vide.

3/ Je ne comprends pas trop pourquoi ton code JS ne fonctionne pas bien mais je ne connaissait pas window.error() :-k. Quand tu cliques sur OK, il ne retourne pas TRUE par hasard ?
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Mammouth du PHP | 536 Messages

20 juin 2007, 17:10

non non, c'est window.alert et ca marche bien. lol
dsl du dérangement.
Bonne soirée.
Un prof désespéré à son élève :
- Et maintenant, dessinez-moi un cercle au tableau... Voila... Alors qu'est-ce que c'est?
- Ben un cercle ?
- Non, c'est votre note, sortez !!

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

20 juin 2007, 17:33

N'oublie pas mon avertissement sur le fait qu'il ne faut pas qu'un validation JS.
Le fait de vérifier que tu ne passes pas une chaine vide en paramètre à la fonction qui supprime un répertoire me semble être une excellente idée ;)
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer