Page 1 sur 1

effacer tous les fichiers d'un dossier

Posté : 02 avr. 2016, 19:44
par grisbi
Bonjour

J'ai un dossier contenant des images de noms differents et d'extensions
differentes comment vider ce dossier

j'ai essayé ceci trouve sur le net et ça tourne en boucle
jusqu'a me donner l'erreur delai 30 secondes d'execution dépassé

Code : Tout sélectionner

<?php $dossier_traite = "ROOT.'data/dossier/'.$nom.'/'"; $repertoire = opendir($dossier_traite); // On définit le répertoire dans lequel on souhaite travailler. while (false !== ($fichier = readdir($repertoire))) // On lit chaque fichier du répertoire dans la boucle. { $chemin = $dossier_traite."/".$fichier; // On définit le chemin du fichier à effacer. // Si le fichier n'est pas un répertoire… if ($fichier != ".." AND $fichier != "." AND !is_dir($fichier)) { unlink($chemin); // On efface. } } closedir($repertoire);

Re: effacer tous les fichiers d'un dossier

Posté : 02 avr. 2016, 20:28
par or 1
cela script me parait faire ce qui est voulu.
il tourne longtemps mais des fichiers sont supprimés ou aucun ?
si aucun, j'ai un gros doute sur cette ligne :
$dossier_traite = "ROOT.'data/dossier/'.$nom.'/'";
voir si en la codant en dur pour commencer, c'est pareil.

Re: effacer tous les fichiers d'un dossier

Posté : 02 avr. 2016, 22:28
par grisbi
ok merci beaucoup
j'ai supprimé les doubles quotes dans mon chemin et ça marche

par contre existe t'il en php la possibilité d'une pause entre
deux commandes afin de laisser le temps a la première d'être réalisée
ou alors de tester la bonne exécution de la première avant de faire la deuxième

dans mon cas la deuxieme est un " header location " et quelque fois
le rafraichissement de la page est trop rapide

a+

Re: effacer tous les fichiers d'un dossier

Posté : 03 avr. 2016, 10:16
par @rthur
Bonjour,
par contre existe t'il en php la possibilité d'une pause entre
deux commandes afin de laisser le temps a la première d'être réalisée
ou alors de tester la bonne exécution de la première avant de faire la deuxième

dans mon cas la deuxieme est un " header location " et quelque fois
le rafraichissement de la page est trop rapide
Oui, avec la fonction sleep()

En revanche la très grande majorité des commandes PHP sont exécutées les unes derrières les autres donc c'est peu probable que ton problème vienne de là, mais ça ne coûte rien de tester. ^^