IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

découper un fichier en parties avant upload


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 495
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 495
    Billets dans le blog
    1
    Par défaut découper un fichier en parties avant upload
    Bonjour,

    pour tenir compte de la limite de taille imposée par l'hébergeur, il faut éventuellement avant upload découper le fichier en plusieurs parties. Pour faire ça, j'ai récupéré un code PHP, mais je me pose plusieurs questions. Voici le code :
    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
     
    <?php
    $cutsize = 32*1024*1024; // limite à 32 mO
     
    // Code
    $handle = fopen ($file, "rb")
        or die ("Lecture impossible !");
    $i = 0;
    while (!feof($handle))
    {
        $istring = $i;
        $partstring = "";
        while (strlen($istring) < 3)
            $istring = "0".$istring;
        while(strlen($partstring)<$cutsize && !feof($handle))
        {
            $partstring .= fgets($handle, $cutsize-strlen($partstring)+1);
        }
        $partfile = fopen($file.".".$istring, "wb")
                   or die("Erreur fatale: impossible d'ouvrir $file.$istring");
        fwrite($partfile, $partstring)
                   or die("Erreur fatale: impossible d'écrire $file.$istring");
        fclose($partfile);
        echo "Fichier $i écrit<br />\n";
        $i++;
    }
    fclose($handle);
    ?>
    - les parties découpées vont-elles au même endroit que le fichier d'origine ?
    - la variable $file est censée contenir le nom du fichier à découper. Comment désigner un fichier qui se trouve sur le disque dûr ?

  2. #2
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 495
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 495
    Billets dans le blog
    1
    Par défaut
    Je viens de tester le script, le fichier étant sur le serveur : ça marche impeccable, mais comment pourrais-je découper un fichier sur disque dûr local (avant upload) ?

  3. #3
    Modérateur
    Avatar de Vil'Coyote
    Homme Profil pro
    Développeur adélia & Web
    Inscrit en
    Février 2008
    Messages
    4 583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur adélia & Web
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2008
    Messages : 4 583
    Par défaut
    Citation Envoyé par laurentSc Voir le message
    Je viens de tester le script, le fichier étant sur le serveur : ça marche impeccable, mais comment pourrais-je découper un fichier sur disque dûr local (avant upload) ?
    je crois pas que tu puisse puisque tu n'a aucun droit sur le poste client local.
    la vie n'est pas cirrhose des foies ...

    Avant de poster un message Rechercher n'est pas qu'une option.
    FAQ Web - Tuto Web

  4. #4
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 495
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 495
    Billets dans le blog
    1
    Par défaut
    Moi non plus, je n'y croyais pas, mais j'ai lu ce commentaire en début du fichier que j'ai récupéré, qui m'a donné quelques doutes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    /* Dans un premier temps il vous faut découper votre fichier. Je ne vous
    cache pas que la variable $file contient le nom de votre fichier à couper.
    C'est ici qu'on se rend compte de l'ambiguité de la situation. Vous ne pouvez
    pas uploader votre fichier (votre hébergeur refuse, le fichier est trop gros).
    Vous pouvez alors utiliser un programme pour couper vos fichier.
    Avec une petite recherche google vous devriez trouver rapidement
    (HJsplit pour les windoziens ou bien KJsplit ou gnusplit pour le unixiens,
    les purs). Mais si vous avez php en localhost et votre
    site sur un hébergeur gratuit vous pouvez vous servir du code suivant.
    Bien que je ne sache pas ce que veut dire "php en localhost". Et il faut bien trouver une solution pour pouvoir uploader des fichiers qui dépassent la limite de l'hébergeur...

  5. #5
    Modérateur
    Avatar de Vil'Coyote
    Homme Profil pro
    Développeur adélia & Web
    Inscrit en
    Février 2008
    Messages
    4 583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur adélia & Web
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2008
    Messages : 4 583
    Par défaut
    en localhost cela veut dire qu'il faut un serveur web sur le poste client (easyphp ou wamp)
    la vie n'est pas cirrhose des foies ...

    Avant de poster un message Rechercher n'est pas qu'une option.
    FAQ Web - Tuto Web

  6. #6
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 495
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 495
    Billets dans le blog
    1
    Par défaut
    J'en conclue que c'est infaisable. La personne qui m'avait demandé de chercher une solution va être déçue...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Compresser un fichier avant upload
    Par p2w.walas dans le forum Applets
    Réponses: 5
    Dernier message: 07/05/2009, 12h08
  2. Controler taille fichier avant upload
    Par hugo69 dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 22/12/2008, 12h09
  3. Contrôle de la taille de fichiers avant upload
    Par flashy38 dans le forum Web
    Réponses: 3
    Dernier message: 10/10/2008, 12h01
  4. Tester la taille de fichier avant upload
    Par RobinNono dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 27/06/2006, 18h38
  5. [Upload] renomer avant uploade fichiers
    Par kagura dans le forum Langage
    Réponses: 9
    Dernier message: 14/04/2006, 13h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo