Bonjour alors voilà je dois créer une bdd mysql à partir de feuilles excel, je les ai converties massivement vers du csv mais étant donné qu'il y en a 1500 pour environ 250 dossiers, j'essaye d'automatiser l'insertion. Mon problème actuel est de parcourir tous les dossiers puis sous dossiers afin de traiter tous les fichiers. Je précise que chaque fichier correspondra à un enregistrement. Je suis débutant en php, j'ai vaguement tapé ceci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
<?php
$cheminrepbase='E:\Mondossier';
 
traitementdonnees($cheminrepbase);
 
$tabrep = nomsousdossiers($cheminrepbase);
traitementsousdossiers($tabrep);
 
$cc=1;	
while ($cc<=count($tabrep))
{
	$tabsousrep = nomsousdossiers($cheminrepbase."\\".$tabrep[$cc]);
	traitementsousdossiers($tabsousrep);
	$cc++;
}
 
 
function traitementsousdossiers($tab)
{
	$c=1;
	while ($c<=count($tab))
	{
		$cheminrep=$cheminrepbase."\\".$tab[$c];
		traitementdonnees($cheminrep);
		$c++;
	}
}
 
function nomsousdossiers($cheminrep)
{
	$i=1;
	$repertoire=opendir($cheminrep);
 
	while ($fichier=readdir($repertoire))
	{
		if (is_dir($cheminrep."\\".$fichier)==true && $fichier!='.' && $fichier!='..')
		{
			$tabrep[$i] = $fichier;
			$i++;
		}
	}
	return $tabrep;
}
 
 
function traitementdonnees($cheminrep)
{
	echo "<br><br><br>NOM DU DOSSIER= \"" . $cheminrep . "\"<br><br><br>";
	$repertoire=opendir($cheminrep);
 
	while ($fichier = readdir($repertoire))
	{
		if ($fichier!='.' && $fichier!='..')
		{
			$extension = substr($fichier, -3, 3);
 
			if ($extension=='CSV')
			{
				echo $cheminrep.'\\'.$fichier."<br><br>";
/*ici aura lieu le traitement*/
 
			}
		}    
	}
}
?>
Bon voilà, étant donné que je me suis moi-même perdu dans mon raisonnement, c'est très mal écrit. Pour l'instant le problème est que cela ne s'applique qu'au premier niveau de sous dossiers. De plus, la ligne "Nom du dossier :" indique seulement le niveau actuel ('\sousdossier') et je ne sais pas comment indiquer le chemin complet. Merci d'avance.

PS: J'espère ne pas avoir transgressé trop de règles..