Webmaster Hub: Php - Erreur de telechargement forcer - Webmaster Hub

Aller au contenu

Page 1 sur 1
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

Php - Erreur de telechargement forcer Le fichier ne se telecharge pas totalement Noter : -----

#1 L'utilisateur est hors-ligne   graymilebulgare 

  • Groupe : Membre
  • Messages : 1
  • Inscrit(e) : 03-mai 11

Posté 03 mai 2011 - 10:16

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

<?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();
   }
   
?>


0

#2 L'utilisateur est hors-ligne   captain_torche 

  • Danacol / Orangina rouge
  • Voir le blog
  • Groupe : Admin
  • Messages : 6 722
  • Inscrit(e) : 08-février 06
  • Genre:Homme
  • Localisation:Savigny / Orge

Posté 03 mai 2011 - 10:41

Es-tu certain que ta variable $taille contienne une information correcte ?
Vous avez rêvé cette nuit ? Partagez vos rêves sur l'Onironaute !
Bijoux fantaisie
Recherche nounou
0

#3 L'utilisateur est hors-ligne   MarvinLeRouge 

  • Groupe : Hubmaster
  • Messages : 771
  • Inscrit(e) : 22-novembre 04
  • Genre:Homme
  • Localisation:Toulon

Posté 03 mai 2011 - 10:55

Salut,

Vérifie plutôt avec filesize, et vois si ça marche mieux.
Lorsqu'un lapin rouge naît, on le nomme Marvin, en mémoire de Marvin 1er qui détruisit la ville de Zautamauxime. Puis on le bannit car les lapins rouges, ça porte malheur.
0

Partager ce sujet :


Page 1 sur 1
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

1 utilisateur(s) en train de lire ce sujet
0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)