La Communauté Webmaster  forum rss


  Forum-webmaster
  Technique - programmation
  PHP / MySQL
(Modérateurs: Shain, Jey, erwinol, Lilian, lauryv, ToToMaStEr)
  Erreur de la taille lors de telechargement de fichiers
« Précédent Suivant »
Pages: [1] Descendre
Répondre    Aviser des réponses    Envoyer le sujet    Imprimer
  Auteur  Sujet: Erreur de la taille lors de telechargement de fichiers  (Lu 823 fois)
Erreur de la taille lors de telechargement de fichiers
« sur: le 03-05-2011 a 11:02:42 »
graymi
Membre récent
*

Hors-Ligne

Messages: 1





Voir le Profil    E-Mail
Répondre avec citation

Bonjour,

J'ai voulu creer un petit blog ou on a la possibilite de poster des fichiers, qui seront ensuite telechargeable par les autre utilisateurs.

Mon soucis est que lors du telechargement du fichier, le fichier telecharger n'aura pas la bonne taille.

Par exemple j'ai fait le test avec un pdf qui fesait 48ko, et quand on le telecharge, il ne fait plus que 1.4ko.

Voici mon code pour telecharger un fichier

Code:

<?php
if (isset($_GET['id']))
  {
       
        try
            {
              $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
              $bdd = new PDO('mysql:host=localhost;dbname=test', 'root', '', $pdo_options);
            }
        catch (Exception $e)
            {
              die('Erreur : ' . $e->getMessage());
            }
      $requete_fichier = $bdd->prepare('SELECT * FROM telechargement WHERE id = :id');
      $requete_fichier->execute(array(
                              'id' => $_GET['id']
                          )
                    );
      while ($donnees = $requete_fichier->fetch())
              {
                  $nom_fichier = $donnees['nom_fichier'];
                  $nom_crypte = $donnees['nom'];
                  $taille = $donnees['taille'];
                  $extension = $donnees['extension']; 
                  $nom_absolu = 'uploads/'.$nom_crypte.'';                 
                  $nom_fichier_crypte_avec_extension = $nom_absolu . $extension;
              }
       
     
             
      switch( $extension )
      {
          case "pdf": $ctype="application/pdf"; break;
          case "exe": $ctype="application/octet-stream"; break;
          case "zip": $ctype="application/zip"; break;
          case "doc": $ctype="application/msword"; break;
          case "xls": $ctype="application/vnd.ms-excel"; break;
          case "ppt": $ctype="application/vnd.ms-powerpoint"; break;
          case "gif": $ctype="image/gif"; break;
          case "png": $ctype="image/png"; break;
          case "jpeg":
          case "jpg": $ctype="image/jpg"; break;
          case "mp3": $ctype="audio/mpeg"; break;
          case "wav": $ctype="audio/x-wav"; break;
          case "mpeg":
          case "mpg":
          case "mpe": $ctype="video/mpeg"; break;
          case "mov": $ctype="video/quicktime"; break;
          case "avi": $ctype="video/x-msvideo"; break;
        }
     
      //Création des headers, pour indiquer au navigateur qu'il s'agit d'un fichier à télécharger
        header("Content-Transfer-Encoding: binary"); //Transfert en binaire (fichier)
        header("Content-Length: $taille"); //Taille du fichier
        header("Content-type: $ctype");
        header("Content-Disposition: attachment; filename= $nom_fichier"); //Nom du fichier
       
 
      //Envoi du fichier dont le chemin est passé en paramètre
        readfile($nom_fichier_crypte_avec_extension);
 
  $requete_fichier->closeCursor();
  }
 
?>

Rapporter au modérateur  

Re:Erreur de la taille lors de telechargement de fichiers
« Répondre #1 sur: le 05-05-2011 a 07:35:45 »
Martin.
Modérateur Global
*****

Hors-Ligne

Sexe: Male
Messages: 244





Voir le Profil    WWW
Répondre avec citation

Bonjour,

Êtes-vous sû que le champ "taille" dans votre base de données indique la bonne taille? Comment cette taille est-elle calculée?

Bonne journée !

Rapporter au modérateur  

Hébergement gratuit sans publicité : C-WebHosting
Re:Erreur de la taille lors de telechargement de fichiers
« Répondre #2 sur: le 06-05-2011 a 10:18:57 »
MarvinLeRouge
Superactif
****

Hors-Ligne

Messages: 584





Voir le Profil    WWW
Répondre avec citation

filesize est ton ami

Rapporter au modérateur  

Développeur web / Création de site internet
jean@ceugniet.com
Jean Ceugniet, Développement web
SIRET : 523 611 044 00018
Répondre    Aviser des réponses    Envoyer le sujet    Imprimer
Pages: [1] Monter
« Précédent Suivant »
Sauter à: 

Votre statut : Invité
Vous devez être membre pour participer.
 
 
Let’s Encrypt : le certificat SSL gratuit
Tester votre site internet sur différents navigateurs
[WordPress] Des problèmes avec l’administration ?
Rappel : Mettez à jour vos CMS et vos sites E-commerce
Le .fr fête ses 25 années d’existence !
Mesurer votre audience en temps réel avec BubbleStat
Porter réclamation contre Google Panda ?
Zlio n’est plus …
 
 
 
 
 

Copyright (c) Devclic 2002 - 2026 - Tous droits réservés

creation site internet strasbourg