Lister fichiers et comparer BD MySql
Résolu
Yazou92
Messages postés
181
Date d'inscription
Statut
Membre
Dernière intervention
-
Yazou92 Messages postés 181 Date d'inscription Statut Membre Dernière intervention -
Yazou92 Messages postés 181 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai créer une fonction php qui permet de scanner les fichiers d'un répertoire et sous-répertoire et de comparer ces fichiers à une base de donnée mysql qui contient un titre
(normalement celui des fichiers scanner auparavant avec une autre fonction)
Mais le problème c'est qu'il m'afficher tout les fichiers en temps que non trouvés.
Mon code et fait en PHP et j'utilise PDO pour les connections MySql
voila le code:
Merci d'avance ^^
J'ai créer une fonction php qui permet de scanner les fichiers d'un répertoire et sous-répertoire et de comparer ces fichiers à une base de donnée mysql qui contient un titre
(normalement celui des fichiers scanner auparavant avec une autre fonction)
Mais le problème c'est qu'il m'afficher tout les fichiers en temps que non trouvés.
Mon code et fait en PHP et j'utilise PDO pour les connections MySql
voila le code:
function ScanComp($rep) { $db = sqlConnect(); $prepareStatement = $db->query("SELECT n_file FROM t_film "); $rows = $prepareStatement->fetchAll(); foreach ($rows as $value) { $dir = opendir($rep); while ($file = readdir($dir)) { if (is_dir($rep . '/' . $file) && ($file != ".") && ($file != "..")) { ScanComp($rep . '/' . $file); } else if (($file != ".") && ($file != "..")) { $found = false; } } //echo $file; if ($file == $value['n_file']) { $found = true; break; } if ($found == false) { echo "NOT FOUND(" . $file . "|" . $value['n_file'] . ")<br />"; $tab_nfound[] = $file; } } return $tab_nfound; }
Merci d'avance ^^
A voir également:
- Lister fichiers et comparer BD MySql
- Renommer des fichiers en masse - Guide
- Fichiers epub - Guide
- Wetransfer gratuit fichiers lourd - Guide
- Explorateur de fichiers - Guide
- Mysql community server - Télécharger - Bases de données
1 réponse
enfaite c'est bon, fallait que je modifie juste un truc.
Il fallait mettre le premier if dans la boucle while.
voila le code qui marche bien:
Il fallait mettre le premier if dans la boucle while.
voila le code qui marche bien:
function ScanComp($rep) { $db = sqlConnect(); $prepareStatement = $db->query("SELECT n_file FROM t_film "); $rows = $prepareStatement->fetchAll(); foreach ($rows as $value) { $dir = opendir($rep); while ($file = readdir($dir)) { if (is_dir($rep . '/' . $file) && ($file != ".") && ($file != "..")) { ScanComp($rep . '/' . $file); } else if (($file != ".") && ($file != "..")) { $found = false; } if ($file == $value['n_file']) { $found = true; break; } } //echo $file; if ($found == false) { echo "NOT FOUND(" . $file . "|" . $value['n_file'] . ")<br />"; $tab_nfound[] = $file; } } return $tab_nfound; }