Fonction PHP pour supprimer tous les fichiers :Le code suivant passe d`abord le chemin vers le répertoire à supprimer. Il vérifie si le fichier ou le répertoire à supprimer existe, en fait / existe ou non. S`il existe, il ouvrira le fichier et vérifiera s`il y a quelque chose dans ce fichier ou non. Si ce n`est pas le cas, supprimez le répertoire à l`aide du répertoire rmdir. Mais si d`autres fichiers sont présents dans le répertoire, il supprimera les fichiers à l`aide de la fonction de dissociation, sauf. et .. fichiers, qui signifient fichiers système. Après avoir supprimé tout le contenu, utilisez simplement la fonction rmdir pour supprimer complètement le répertoire.
Exemple : < ? php
// Variable pour stocker le nom du répertoire
// à supprimer
$folder
=
`temporary_files`
;
// Obtenir une liste de tous noms de fichiers
// dans le dossier.
$files
=
glob
(
$dossier
.
`/ *`
);
// Boucle dans la liste des fichiers
foreach
(
$files
as
$ fichier
) {
// Vérifier le fichier
si
(
est_fichier
(
$fichier
)) {
// Utilisez la fonction de déconnexion pour
// supprimer le fichier.
dissocier (
$file
);
}
}
?>
- Avant de supprimer des fichiers :
- Après avoir supprimé des fichiers :
Description :- L`exemple ci-dessus supprime tous les fichiers du dossier nommé "temp‚".
- Listez les fichiers de ce répertoire à l`aide de la fonction PHP glob. La fonction glob "trouve les chemins qui correspondent à un certain modèle". Dans ce cas, utilisez le caractère générique * (astérisque) pour tout sélectionner dans le dossier temporaire.
- La fonction glob renvoie un tableau de noms de fichiers qui se trouvent dans le dossier spécifié.
- Boucle sur ce tableau.
- Utiliser la fonction is_file pour vérifier s`il s`agit d`un fichier et non d`un répertoire ou d`un sous-répertoire parent.
- Enfin, utiliser la fonction unlink, qui supprime le fichier (si PHP a des autorisations valides - sinon, il lancera une erreur E_WARNING et renverra la valeur booléenne FALSE).
Supprimer tous les fichiers et sous-répertoires dans un répertoire.Pour supprimer tous les fichiers et sous-répertoires dans tous les sous-répertoires , nous pouvons utiliser la récursivité. Voici un exemple de fonction PHP récursive qui supprime tous les fichiers et dossiers du répertoire spécifié.Exemple :
// Fonction de suppression de tous les fichiers
// et répertoires
fonction
deleteAll (
$str
) {/code>
// Vérifier les fichiers
if
(
is_file
(
$str
)) {
// S`il s`agit d`un fichier, alors supprimez
// en utilisant la fonction unlink
return
unlink (
$str
);
}
// Si c`est un répertoire.
elseif
(
is_dir
(
$str
)) {
// Obtenir une liste des fichiers dans ce
// répertoire
$scan
=
glob
(rtrim (
$str
,
`/`
).
`/ *`
);
// Boucle dans la liste des fichiers
foreach
(
$scan
as
$index
= >
$path
) {
// Appeler une fonction récursive
deleteAll (
$path
);
}
/ / Supprime le répertoire lui-même
return
@
rmdir
(
$str
);
}
}
// appel de fonction
deleteAll (
`temporary_files`
);
?>
Sortie :- Avant de supprimer le répertoire :
- Après suppression du répertoire :le répertoire Le secteur est complètement supprimé.
La fonction vérifie si la variable représente $str est le chemin d`accès au fichier, puis supprime le fichier à l`aide de la fonction unlink. Cependant, si $str représente un répertoire, il obtient une liste de tous les fichiers du répertoire spécifié avant de supprimer chacun d`eux. Enfin, il supprime le sous-répertoire lui-même à l`aide de la fonction PHP rmdir.