Bonjour à tous,

Voilà, j'utilise la portion de code ci-dessous afin que les visiteurs de mon site puissent télécharger leurs fichiers. J'aimerais pouvoir, pour chaque téléchargement, enregistrer le volume téléchargé par le visiteur et l'enregistrer dans la base MySQL.
Le soucis avec le code ci-dessous, c'est que si le visiteur à télécharger entiérement le fichier ou pas, rien ne s'enregistre dans la base.

Quelqu'un à-t-il une idée du pourquoi ?

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
 
// On prépare l'enregistrement du quota ****************
    $NbOctectsTotal = 0;
 
  if(preg_match('#HTTP/1.1 200 OK#', $head) or preg_match('#HTTP/1.1 302 Found#', $head) or preg_match('#HTTP/1.1 206 Partial Content#', $head))
  {
  	header($head);
 
  while (!feof($sock) and $cabeza = fgets($sock) and preg_match('#.+:.+#', $cabeza)) 
  {
   header($cabeza);
  }
  header('Content-Disposition: attachment; filename="'.$nomdufichier.'"');
 
  while (!feof($sock) && !connection_aborted())
  {
  $NbOctetsTotal += 8192;
  echo fread($sock, 8192);
    @flush();
  @ob_flush();
  }
  $status = (!connection_aborted());
  fclose($fp);
  $VolumeDownload += ($NbOctectsTotal / 1000);
  set_magic_quotes_runtime(get_magic_quotes_gpc());
// Enregistrement du volume téléchargé
  $query = "UPDATE membres SET Volume_Download = ".$VolumeDownload." WHERE IDMembres = '".$idmembre."' LIMIT 1;";
  mysql_query($query);
// Selon si la connection est interrompue ou pas, on enregistre l'état du téléchargement 
  if ($status) {
  $query = "UPDATE telechargements SET Resultat = 'Ok' WHERE IDMembres = '".$idmembre."' AND IDLiens = '".$idlien."' LIMIT 1;";
  mysql_query($query);
} else {
  $query = "UPDATE telechargements SET Resultat = 'KO -->".$VolumeDownload."' WHERE IDMembres = '".$idmembre."' AND IDLiens = '".$idlien."' LIMIT 1;";
  mysql_query($query);
}
  mysql_close($db);
Je suis vraiment coincé, cela fait 3 jours que je cherche, merci d'avance pour votre aide.