TUTOS.EU

Lister les fichiers d'un répertoire et afficher une checkbox puis effacer la sélection

Lister les fichiers d'un répertoire et afficher une case à cocher pour effacer ceux sélectionnés

<!DOCTYPE html>
<HTML lang="fr">
	<HEAD>
		<meta charset="utf-8" />

		<SCRIPT TYPE="text/javascript">
			function fctPostForm(MyObj){
				//alert(MyObj.name);
				//alert(MyObj.form.name);
				MyObj.form.submit();
				//document.forms["MonFormulaire"].submit();
			}
		</SCRIPT>

	</HEAD>

	<BODY>

		<div id="bloc_page">
		<?php
			//Version du 13 juillet 2014
			//Nécessite la création d'une fonction GetFilesInDir pour plus de facilité.

			$folderpath = "./monrepertoire/";

			//Récupération des variables postées
			$VariablesPostees = $_POST;
			$NbrVariablesPostees = count($VariablesPostees);
			echo "Nombre variables postées : ".$NbrVariablesPostees."<br />\n";
			echo "<br />\n";
			
			if ($NbrVariablesPostees > 0){
				foreach ( $_POST as $PostNomVariable => $PostValeurVariable )
				{
				
					echo "key : ".$PostNomVariable ."<br />\n";
					echo "value : ".$PostValeurVariable ."<br />\n";
					//$PostValeurVariable = trim($PostValeurVariable);
					//$PostValeurVariable = strtr($PostValeurVariable,'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ','AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
					$CheminFichier = $folderpath."/".$PostValeurVariable;
					echo "Chemin du fichier : ".$CheminFichier."<br />\n";
					if (!unlink($CheminFichier)){echo "Problème lors de l'effacement de $CheminFichier<br />\n";}
					else {echo "Fichier $CheminFichier effacé.<br />\n";}

				}
			}
			else{ //Si il n'y a pas eu de valeurs postées au formulaire
				//Lister les fichiers d'un répertoire (et uniquement les fichiers
				echo "Liste des fichiers du répertoire :<br />\n";
				if (file_exists($folderpath) && is_dir($folderpath)) {
					$MesFichiers = GetFilesInDir($folderpath,0);
					echo "<FORM METHOD=\"POST\" name=\"MonFormulaire\" ACTION=\"List.php\">\n";
					$i=0;
					while ( $i < count($MesFichiers))
					{
						//echo htmlentities($MesFichiers[$i])."<br />\n";
						echo htmlentities($MesFichiers[$i]);
						echo " ";
						echo "<INPUT TYPE=CHECKBOX UNCHECKED ID=\"ListeFichiers".$i."\" NAME=\"ListeFichiers".$i."\"  value=\"".$MesFichiers[$i]."\" >\n";
						echo "<br />\n";
						
						
						//<INPUT TYPE=CHECKBOX UNCHECKED ID="Stopper" NAME="Stopper" onClick="fctGenererCommande();">
						
						$i++;
					}
					
					//echo "<input type=\"text\" name=\"TxtNomEntree\" id=\"TxtNomEntree\" value=\"Une Valeur\" /><br />\n";

					echo "<input type=\"button\" name=\"ButtEnvFormulaire\" value=\"Envoyer le formulaire\" ONCLICK=\"fctPostForm(this)\" />\n";
					echo "</FORM>\n";
				}
				else{echo "Le répertoire $folderpath n'existe pas ou ce n'est pas un répertoire.";}
			}
			
			function GetFilesInDir($folderpath, $debugmode)
			{
				//Version du 13 juillet 2014
				// Lister un repertoire par ordre alphabétique avec la fonction readdir()
				// Code qui passe sur tous les serveurs

				//Exemple d'utilisation
				// $MesFichiers = GetFilesInDir('.',0)
				// $i=0;
				// while ( $i < count($MesFichiers))
				// {
					// echo $MesFichiers[$i].'<br />';
					// $i++;
				// }

				
				// ouvre le rep
				if (is_dir($folderpath)) {
					$PointeurVersRepertoire = opendir($folderpath);
					$i=0;
					while (($file = readdir($PointeurVersRepertoire)) !== false ) //Lecture d une entree du repertoire
					{
						// enleve les fichiers . et .. et index.php et .htaccess et les répertoires
						if ($file != '.' && $file != '..' && $file != 'index.php' && $file != '.htaccess' && !is_dir($file))
						{
							// on passe les datas dans un tableau
							$ListFiles[$i]=$file;
							$i++;
						}
					}
					closedir($PointeurVersRepertoire);
				}

				// tri par ordre decroissant
				if(count($ListFiles)!=0)
				{
					if($list_tri == 'DESC')
					{
						rsort($ListFiles);
					}
					else
					{
						sort($ListFiles);
					}
				}
				return $ListFiles;
			}

		?>

		</div> <!-- div bloc_page -->
	</BODY>

</HTML>
Lien vers le fichier : cliquez ici