Partage
  • Partager sur Facebook
  • Partager sur Twitter

Upload Gros fichiers php

Environ 100<,mo

    29 mai 2006 à 11:50:09

    Bonjour,
    Voila j'ai fais un ptit script php
    J'aimerais savoir comment uppé des fichiers de 50mo sans avoir de timeout,
    Merci

    Et comment vérifié la taille avant qu'il soit envoyé dans les répertoires temporaires du serveurs


    MERCI :D
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      29 mai 2006 à 13:34:20

      en ayant une connec qui up 50mo en moins de 30s :D
      • Partager sur Facebook
      • Partager sur Twitter
        29 mai 2006 à 13:55:31

        tente avec les fonctions FTP et pourquoi pas set_time_limit(0)
        • Partager sur Facebook
        • Partager sur Twitter
          29 mai 2006 à 14:01:16

          Le protocole HTTP n'est pas fait pour balader des dizaines de Mo.
          Sers-toi plutôt d'espaces FTP.
          • Partager sur Facebook
          • Partager sur Twitter
            29 mai 2006 à 18:21:47

            Et comment il faut les trucs du genre super-uploader.net etc ...

            Merci
            • Partager sur Facebook
            • Partager sur Twitter
            Anonyme
              30 mai 2006 à 16:07:29

              il font ca en java me semble non ?
              • Partager sur Facebook
              • Partager sur Twitter
                30 mai 2006 à 18:43:30

                Je pense pas
                Soit javascript soit AJAX
                • Partager sur Facebook
                • Partager sur Twitter
                Anonyme
                  30 mai 2006 à 20:28:26

                  Bonsoir,

                  Tu risque de rencontrer deux problèmes, 1 qui est comme on te la dit la durée d'execution d'un script php qui est en principe limité à 30s et à la taille des fichier car la encore par défaut la configue php est souvent à 2M. Personnellement je contourne ce problème sur mon site avec un fichier .htaccess dont voici le code:

                  php_flag allow_call_time_pass_reference on
                  php_value upload_max_filesize 10000

                  dans le code la limite est à 10 Ko car ce fichier fonctionne dans les deux sens il te suffit de modifier la valeur pour mettre celle que tu as besoin. Mais cela ne remplace pas du ftp car chez mon hébergeur actuellement ils ont limité pour ce genre de transfert du manière incontournable à 48M. Et chez free maintenant le .htaccess ne fonctionne plus il met même le bazard. Pour le time si ce fichier ne fonctionne pas tu supprime la première ligne et tu met en début de page la fonction set_time_limit(0) il faut de mémoire que ce soit la première commande ou la 2eme si tu utilises des sessions l'ouverture de session devant impérativement toujours être la première commande.
                  et dans ton script de upload tu peut procéder de cette manière pour afficher un message si la taille du fichier n'est pas dans la limite que tu as fixé avec d'autre paramètres.

                  Voila un exemple(je te laisse faire le formulaire pour prendre le fichier):

                  // ############################################################ //
                  // Définition des variable globales, modifiables à volonté            //
                  // ############################################################ //
                  // Récupération du dossier dans lequel le fichier sera uploadé  //
                  $DESTINATION_FOLDER = "../fichiers/";                           // Mettre le chemin de votre repertoire conseil plustot directe sur la racine de votre site car il faut les permissions chmod 777
                  // Taille maximale de fichier, valeur en bytes          //
                  $MAX_SIZE = 10000;                                                                      //  Indiquer la taille maxi de base la valeure indique 10Ko
                  ////////////////////////////////////////////////////////////////////
                  // Récupération de l'url de retour//NE PAS MODIFIER CETTE VARIABLE//
                  $RETURN_LINK = "choix_fichier.php";// fichier de retour quand une //
                  //                                   erreure de téléchargement    //
                  //                                    (uploader) se produit       //
                  ////////////////////////////////////////////////////////////////////
                  // Définition des extensions de fichier autorisées (avec le ".")  //
                  $AUTH_EXT = array(".pdf", ".jpg", ".gif",);//
                  //d'autre extensions sont possible         //
                  //**************************************************************************************************///
                  // Fonction permettant de créer un lien de retour automatique   //

                  function createReturnLink(){
                          global $RETURN_LINK;
                          echo "<a href='".$RETURN_LINK."'>Choisir un autre fichier</a><br>";
                  }

                  // Fonction permettant de vérifier si l'extension du fichier est
                  // autorisée.

                  function isExtAuthorized($ext){
                          global $AUTH_EXT;
                          if(in_array($ext, $AUTH_EXT)){
                                  return true;
                          }else{
                                  return false;
                          }
                  }

                  // On vérifie que le champs contenant le chemin du fichier soit
                  // bien rempli.

                  if(!empty($_FILES["file"]["name"])){
                         
                          // Nom du fichier choisi:
                          $nomFichier = $_FILES["file"]["name"] ;
                          // Nom temporaire sur le serveur:
                          $nomTemporaire = $_FILES["file"]["tmp_name"] ;
                          // Type du fichier choisi:
                          $typeFichier = $_FILES["file"]["type"] ;
                          // Poids en octets du fichier choisit:
                          $poidsFichier = $_FILES["file"]["size"] ;
                          // Code de l'erreur si jamais il y en a une:
                          $codeErreur = $_FILES["file"]["error"] ;
                          // Extension du fichier
                          $extension = strrchr($nomFichier, ".");
                          $nom_destination_fichier=$_POST['photo_name'];
                         
                          // Si le poids du fichier est de 0 bytes, le fichier est
                          // invalide (ou le chemin incorrect) => message d'erreur
                          // sinon, le script continue.
                          if($poidsFichier <> 0){
                                  // Si la taille du fichier est supérieure à la taille
                                  // maximum spécifiée => message d'erreur
                                  if($poidsFichier < $MAX_SIZE){
                                          // On teste ensuite si le fichier a une extension autorisée
                                          if(isExtAuthorized($extension)){
                                                  // Ensuite, on copie le fichier uploadé ou bon nous semble.
                                                  $uploadOk = move_uploaded_file($nomTemporaire, $DESTINATION_FOLDER.$nom_destination_fichier);
                                                  if($uploadOk){
                                                       $var_erreure="04";
                                                           echo("L'upload de votre fichier (de son nouveau nom): " ); echo $nom_destination_fichier; echo (" a réussi !<br><br>");
                                                           echo(createReturnLink()."<br>");
                                                  }else{
                                                      $var_erreure="05";
                                                          echo("L'upload de votre fichier(de son nouveau nom): " ); echo $nom_destination_fichier; echo (" a échoué !<br><br>");
                                                          echo(createReturnLink()."<br>");
                                                  }
                                          }else{
                                              $var_erreure="05";
                                                  echo ("Les fichiers avec l'extension $extension ne peuvent pas être uploadés !<br>");
                                                  echo (createReturnLink()."<br>");
                                                  }
                                  }else{
                                      $var_erreure="05";
                                          $tailleKo = $MAX_SIZE / 1000;
                                          echo("Vous ne pouvez pas uploader de fichiers dont la taille est supérieure à : $tailleKo Ko.<br>");
                                          echo (createReturnLink()."<br>");
                                  }              
                          }else{
                              $var_erreure="05";
                                  echo("Le fichier choisi est invalide !<br>");echo $nomFichier ;
                                  echo (createReturnLink()."<br>");
                          }
                  }else{
                      $var_erreure="05";
                          echo("Vous n'avez pas choisi de fichier !<br>");
                          echo (createReturnLink()."<br>");
                  }
                  ?>
                  • Partager sur Facebook
                  • Partager sur Twitter
                  Anonyme
                    30 mai 2006 à 21:42:57

                    Citation : Tux1

                    Je pense pas
                    Soit javascript soit AJAX



                    c'est une blague ?


                    • Partager sur Facebook
                    • Partager sur Twitter
                      31 mai 2006 à 11:07:00

                      Non mais c'est surment pas en JAVA

                      Et merci eguillaume
                      • Partager sur Facebook
                      • Partager sur Twitter
                        31 mai 2006 à 11:30:53

                        Question tu est sur quelle hébergeur?
                        • Partager sur Facebook
                        • Partager sur Twitter

                        Upload Gros fichiers php

                        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                        • Editeur
                        • Markdown