Supprimer les fichiers d’un dossier non présents dans phpMyAdmin

Supprimer les fichiers d’un dossier non présents dans phpMyAdmin
  • 5.00 / 5 5
1 vote, 5.00 avg. rating (94% score)

Supprimer les fichiers d’un dossier non présents dans phpMyAdmin

Découvrez dans ce tutoriel comment supprimer les fichiers d'un dossier de votre site qui ne sont pas enregistrés dans une table phpMyAdmin
 
nettoyage-dossier-mysql

 
Il arrive parfois que certains webmaster oublient de mettre en place le système qui supprime des médias d'un dossier qui n'existent pas ou plus dans les enregistrements d'une table de phpMyAdmin.

Rappelons que la commande unlink en php permet de faire ce genre de chose.

C'est pourquoi je vous ai préparé un petit script de quelques lignes qui permet de faire ce genre de choses.
 

Connexion à phpMyAdmin

Tout d'abord nous allons créer un fichier php et y insérer le code suivant pour se connecter à phpMyAdmin puis on l’exécute.

Si aucune erreur n'est affichée, c'est que la connexion a réussie.

<?php
//Remplacez par vos identifiants 
mysql_connect('localhost','login','pass') or die(mysql_error());
?>

 

On supprime les médias inutiles

Toujours dans le même fichier php, on rajoute le code ci-dessous à la suite qui va tout simplement créer la requête pour interroger la table MYSQL et qui va ensuite nettoyer les fichiers inutilisés.

<?php
//On créé une requête qui va interroger la table en question
$req_nettoyage = "SELECT medias FROM table" ;
$req_nettoyage_exec = mysql_query($req_nettoyage) ; 

//On créé une boucle avec les résultats trouvés pour incrémenter
$i = 0 ;
while ($medias = mysql_fetch_row($req_nettoyage_exec)) {
$tab[$i] = $medias[0] ;
$i++ ;
}
//On défini le dossier qui contient les médias
$dossier = "medias"; 
//On ouvre le dossier en question et on nettoie
$handle = opendir($dossier);
$nbr_medias = 0;
while ($medias = readdir($handle)) {
if ($medias != "." && $medias != "..") {
if (!(in_array($medias,$tab))) {
unlink($dossier."/".$medias) ;
$nbr_medias++;
}
}
}
echo '<p>Nettoyage des médias effectués. <small>(' . $nbr_medias . ' supprimés)</small></p>';
closedir($handle);
?>
Facebook Twitter Google+ Linkedin Mail
Mots clés associés : , ,

A propos de l'auteur : JM Créa

JM Créa est une agence de communication à Antibes (dans les Alpes-Maritimes). Nous sommes spécialisé en création de site Internet sur mesure et en référencement Google avancé.

Laisser un commentaire

Votre devis gratuit

Votre nom (obligatoire)

Votre prénom (obligatoire)

Votre société

Votre email (obligatoire)

Votre téléphone

Comment nous avez-vous connu ?

Vos besoins

Votre message