Bonjour,

Ne serais-ce pas trop déplacé de vous demander un peu d'aide pour adapter un code trouvé sur un autre site ? Je précise que ce code est en libre service

Le nom du code c'est progressbar.
J'aimerais qu'une barre de progression se déroule au moment de l'upload d'un fichier. J'ai tenté de l'adapter à mon code mais soit la barre ne s'affiche pas, soit je passe directement à 100%, bref je ne sais pas ou placer ce code correctement pour qu'il se déroule dans la boucle.

voici le code complet :

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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
<?php 
function Initialize($gauche,$haut,$largeur,$hauteur,$bord_col,$txt_col,$bg_col)
{
$tailletxt=$hauteur-10;
echo '<div id="pourcentage" style="position:absolute;top:'.$haut;
echo ';left:'.$gauche;
echo ';width:'.$largeur.'px';
echo ';height:'.$hauteur.'px;border:1px solid '.$bord_col.';font-family:Tahoma;font-weight:bold';
echo ';font-size:'.$tailletxt.'px;color:'.$txt_col.';z-index:1;text-align:center;">0%</div>';
 
echo '<div id="progrbar" style="position:absolute;top:'.($haut+1); //+1
echo ';left:'.($gauche+1); //+1
echo ';width:0px';
echo ';height:'.$hauteur.'px';
echo ';background-color:'.$bg_col.';z-index:0;"></div>';
}
 
function ProgressBar($indice)
{
echo "\n<script>";
echo "document.getElementById(\"pourcentage\").innerHTML='".$indice."%';";
echo "document.getElementById('progrbar').style.width=".($indice*2).";\n";
echo "</script>";
flush();
}
 
include('connection/connection.php');
include('presentation/header.php');
 
//Initialize(x,y,largeur,hauteur,'couleur bordure','couleur du pourcentage','couleur de la barre de progression');
Initialize(50,60,200,30,'000000','FFCC00','006699'); // initialisation de la barre de progression
 
if (isset($_POST['Enregistrer']))
{ 
		if(isset($_FILES['parcourir']))
	{
		$dossier = 'upload_tmp/';
		$fichier = basename($_FILES['parcourir']['name']);
		$ancien_nom_fichier = basename($_FILES['parcourir']['name']);
		$chemin_et_ancien_nom_fichier = 'fichier_titre/'.$ancien_nom_fichier;
		$date_jour = date("Ymd");
		$repertoire_destination = 'fichier_titre/';
		$nombre_aleatoire = mt_rand();
		$nouveau_nom_fichier = 'PASS_'.$date_jour.'-'.$nombre_aleatoire.'.old';
		$taille_maxi = 2000000;
		$taille = filesize($_FILES['parcourir']['tmp_name']);
		$extensions = array('.csv');
		$extension = strrchr($fichier, '.');
			//Début des vérifications de sécurité...
			if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
				{
						 $erreur = 'Vous devez télécharger un fichier de type CSV !';
				}
					if($taille>$taille_maxi)
					{
							 $erreur = 'Le fichier a une taille trop importante !';
					}
							if(!isset($erreur)) //S'il n'y a pas d'erreur...
							{
							//On calcule la somme du fichier
							$md5 = md5_file($_FILES['parcourir']['tmp_name']);
							//On lit les md5 en base pour comparaison
							$req1 = mssql_query("SELECT md5 FROM download WHERE md5 = '".$md5."' GROUP BY md5");
								while($result = mssql_fetch_array($req1))
								{
									$md5_base = $result['md5'];
								}
							// Si le fichier existe
							if($md5_base)
							{
									$erreur2 = 'Le fichier a déjà été télécharger !';
							}
							else //S'il n'existe pas on upload
						{
							//On formate le nom du fichier ici...
							$fichier = strtr($fichier, 
									'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 
									'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
							$fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
							//On déplace le fichier d'origine pour l'archiver côté serveur
							$deplace = rename($chemin_et_ancien_nom_fichier,$repertoire_destination.$nouveau_nom_fichier);
							//On déplace le fichier pour le traiter
									if(move_uploaded_file($_FILES['parcourir']['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
								{
										if ($fichier = fopen($dossier . $fichier, 'r'))
									{
										for ($i=0;$i<=100;$i++)
										{
										ProgressBar($i); // réaffichage de la barre avec le nouvel indice
										//***********************
										// ici on mets notre code
											while (($donnee = fgetcsv($fichier,1000, ";")) !== FALSE) 
										{
 
												$Ref = $donnee[0]; // Pas obligé de mettre dans des variables, mais plus clair pour le débug
												$OLS = $donnee[1];
												$Date_fab=$donnee[2];
												$Numlivr = $donnee[3];
												$Date_livr=$donnee[4];
												$CDT = $donnee[5];
												$Boite = $donnee[6];
												$Num_serie = $donnee[7];
												$SAM = $donnee[8];
												$Process = $donnee[9];
												$Encarteur = $donnee[10];
												$Module = $donnee[11];
												$Wafer = $donnee[12]; 
												$nom_avant = $ancien_nom_fichier;
												$nom_apres = $nouveau_nom_fichier;
												$somme_md5 = $md5;
 
											$result = "INSERT INTO DOWNLOAD
																							 (Ref
																							 ,OLS
																							 ,Date_fab
																							 ,Numlivr
																							 ,Date_livr
																							 ,CDT
																							 ,Boite
																							 ,Num_serie
																							 ,SAM
																							 ,Process
																							 ,Encarteur
																							 ,Module
																							 ,Wafer
																							 ,date_heure_download
																							 ,nom_avant
																							 ,nom_apres
																							 ,md5
																							 )
																							 VALUES
																							 ('".$Ref."','".$OLS."','".$Date_fab."','".$Numlivr."','".$Date_livr."','".$CDT."','".$Boite."','".$Num_serie."','".$SAM."','".$Process."','".$Encarteur."','".$Module."','".$Wafer."',GETDATE(),'".$nom_avant."','".$nom_apres."','".$somme_md5."')";
											$lancer = mssql_query($result);
 
 
										}
									}
									$message = 'Téléchargement de '.$nom_avant.' effectué avec succès !';
									}
								}
							else
							{
								$echec = 'Echec du téléchargement !';
							}
						}
					}
					else
					{
					 $erreur;
					}
 
	}
}
?>