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 :

Taille upload en php


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 171
    Par défaut Taille upload en php
    Bonsoir,

    grace a un petit bouton pour rechercher des fichiers sur mon disque dur, une zone de texte pour les renommer et un dernier bouton pour valider, j'ai un script php qui me télécharge le fichier en question et que me le met dans un dossier de mon site (sur le serveur donc).

    Ca marche tres bien avec des planning en xls de 70 ko, cependant j'aurais aussi besoin d'en télécharger des beaucoup plus gros (environ 20 à 25 Mo), mais ca ca plante :

    Erreur 500 - Erreur interne du serveur
    A savoir que je suis chez free, et un phpinfo() me donne ca (si ca peut aider) :
    memory_limit : 32M
    post_max_size : 2M
    upload_max_filesize : 2M
    Mon fichier test qui ne marche pas fait 3.79 Mo, j'en conclue donc (dites le moi si je me trompe) que Free ne permet pas de upload des fichiers de plus de 2Mo...

    Si c'est bien ca, y a t'il un moyen de contourner la règle ?

    Si ca peut aider voici mon script (qui marche tres bien avec les petits fichiers) :

    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
    <?php
     
    $path = "../secu/planning_licence/planning_licence";
    $nomOrigine = $_FILES['monfichier']['name'];
    $nouveaunom = $_POST['newname'] ;
    $elementsChemin = pathinfo($nomOrigine);
    $extensionFichier = $elementsChemin['extension'];
    $extensionsAutorisees = array("jpeg", "jpg", "gif", "pdf", "xls", "xlsx", "XML", "doc", "docx");
    if (!(in_array($extensionFichier, $extensionsAutorisees))) {
        echo "Le fichier n'a pas l'extension attendue";
    } else {    
        // Copie dans le repertoire du script avec un nom
        // incluant l'heure a la seconde pres 
        $repertoireDestination = dirname($path) ."/";
        $nomDestination = "planning_du_".$nouveaunom.".".$extensionFichier;
     
        if (move_uploaded_file($_FILES["monfichier"]["tmp_name"], 
                                         $repertoireDestination.$nomDestination)) {
            echo "Le fichier temporaire ".$_FILES["monfichier"]["tmp_name"].
                    " a été déplacé vers ".$repertoireDestination.$nomDestination;
        } else {
            echo "Le fichier n'a pas été uploadé (trop gros ?) ou ".
                    "Le déplacement du fichier temporaire a échoué".
                    " vérifiez l'existence du répertoire ".$repertoireDestination;
        }
    }
    ?>

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Je pense que c'est plutot le temps d'execution du script que tu depasses.
    Non, on ne peut pas contourner.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 171
    Par défaut
    max_execution_time : 30
    max_input_time : 60
    Et ca me fait l'erreur au bout de 15 secondes environ donc je ne pense pas que ce soit un time out.

    Ca serait pas plutot la taille ? Car upload_max_filesize = 2M et mon fichier fait environ 3 Mo

    Bref, j'ai l'impression que j'suis foutu

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 171
    Par défaut
    En effet, tu as raison au final, j'avais mal jugé le temps, il fait plus d'une minute.

    Donc plsu d'une minute, ca ne marche pas. Donc suivant la connection, la limite sera (pour moi par exemple) environ 1.5 Mo

    Ca m'embete vraiment j'aurais bien aimé mettre sur mon site des gros fichiers. Reste toujours le dl.free.fr qui permet de mettre en ligne (mais pas sur son site directement) des énormes fichiers.

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

Discussions similaires

  1. [Upload] Upload images php
    Par lls dans le forum Langage
    Réponses: 15
    Dernier message: 19/07/2007, 18h23
  2. [EasyPHP] Taille de l'upload dans php.ini
    Par camzo dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 28/12/2006, 17h09
  3. [Upload] Une page d'upload en PHP
    Par punisher999 dans le forum Langage
    Réponses: 4
    Dernier message: 26/12/2006, 22h59
  4. [Upload] Pb PHP et Debian d'upload
    Par clementphp dans le forum Langage
    Réponses: 4
    Dernier message: 16/08/2006, 21h49
  5. [Upload] Code php, besoin d'aide
    Par tilou dans le forum Langage
    Réponses: 3
    Dernier message: 08/02/2006, 13h49

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