voila, mon code permet de selectionner et de supprimer un fichier ou un dossier
dans le path défini par l' utilisateur du code.
il peut servir à pas mal de chose au cas ou certains webmasters rencontreraient certaines difficultées à coder ce genre de script, utiles à certaines administration evidement, il peut vous inspirez pour coder d' autres fonctions files systémes & autres flux !
Source / Exemple :
echo "<center><h3>[ Supprimer fichier ou dossier ]</h3></center>";
echo "<p><font face=\"verdana\" size=\"2\">";
echo "<form method=\"post\">";
echo "Path du Fichier ou Dossier à supprimer : <input type=\"texte\" name=\"fichier_ou_dossier\" value=\"\"> ex: /home/user/*.txt ,..., /home/user/Dossier";
echo "<br/><input type=\"submit\" name=\"send\" value=\"Supprimer\"></form>";
function rm($fichier_ou_dossier)
{ // si le paramètre est une chaîne de caractère...
if (is_string($fichier_ou_dossier))
{ // si le paramètre est un fichier...
if (is_file($fichier_ou_dossier))
{ // on efface le fichier et renvoit le resultat
return unlink($fichier_ou_dossier);
}
else
// si c'est un dossier
if (is_dir($fichier_ou_dossier))
{
$suppr_fichier = rm("$fichier_ou_dossier/*");
// si les fichiers n'ont pas été supprimés
if (!$suppr_fichier)
{
return false;
}
// supprime le dossier après être vidé ^^
return rmdir($fichier_ou_dossier);
}
else
{ // on recherche les fichiers vérifiant un masque (*.html)
$fichiers_masque = glob($fichier_ou_dossier);
// si aucun fichier...
if ($fichiers_masque === false)
{
// déclanche une erreur utilisateur
trigger_error(sprintf('Aucun fichier correspondant au masque suivant: %s', $fichier_ou_dossier), E_USER_WARNING);
return false;
}
// on rappel la fonction rm() pour chaque fichier afin de //les supprimer un par un
$rslt = array_map('rm', $fichiers_masque);
// si un false est trouvé il y a eu une erreur lors de la //suppression
if (in_array(false, $rslt))
{
return false;
}
}
}
else
// s'il s'agit un tableau contenant les noms des fichiers...
if (is_array($fichier_ou_dossier))
{
// on rappel la fonction rm() pour chaque fichier afin de les //supprimer un par un
$rslt = array_map('rm', $fichier_ou_dossier);
// si un false est trouvé il y a eu une erreur lors de la //suppression
if (in_array(false, $rslt))
{
return false;
}
}
else
{
// déclanche une erreur utilisateur
trigger_error('Le paramètre passé en argument n\'est pas valide !', E_USER_ERROR);
return false;
}
return true;
}
// SUPPRESSION FICHIERS ou DOSSIERS
if (isset($_POST['send']) && $_POST['send'] == "Supprimer"){
$fichier_ou_dossier = $_POST['fichier_ou_dossier'];
$send = $_POST['send'];
if(empty($send)) { die ("\n Erreur!!\n");}
if(empty($fichier_ou_dossier)) { die ("\n Vous n' avez pas remplis le champs ! \n");}
if (isset($fichier_ou_dossier) && $send=="Supprimer") {
rm($fichier_ou_dossier);
}
else{
echo "Erreur!!!";
}
$fichier_ou_dossier = "";
$send = "";
}
Conclusion :
je rajouterai d'autres fonction plus tard !
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.