Supprimer fichier ou dossier dans une arborescence défini par l' utilsateur

Contenu du snippet

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 !

A voir également

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.