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 :

Optimiser une limite d'upload


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 54
    Par défaut Optimiser une limite d'upload
    Bonjour,

    Je voudrais savoir s'il existe une méthode en PHP pour stopper l'upload d'un fichier ayant dépassé une certaine taille... avant de l'avoir entièrement uploadé ?

    Prenons un exemple : si je limite l'upload à 10ko disons, et que j'upload un fichier de 20ko, le serveur va me répondre que le fichier est trop volumineux et si j'upload un fichier d'1Mo il va me répondre la même chose mais après beaucoup plus de temps.
    Alors ça me porte à croire que le serveur attend d'avoir le fichier en entier avant de pouvoir déterminer si sa taille dépasse la taille d'upload autorisée.
    Ce qui n'est pas vraiment optimal.

    En supposant que j'ai bien compris le problème, ma question serait donc : peut-on vérifier la quantité de données uploadées en cours, d'un fichier, pendant son upload ?

    Merci.

  2. #2
    Modérateur

    Avatar de kOrt3x
    Homme Profil pro
    Technicien Informatique/Webmaster
    Inscrit en
    Septembre 2006
    Messages
    3 650
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Technicien Informatique/Webmaster
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 650
    Par défaut
    Salut,

    Tu devrais trouver la réponse dans la FAQ : http://php.developpez.com/faq/?page=fichiers

    La rubrique Mac
    Les cours & tutoriels Mac
    Critiques de Livres Mac & iOS
    FAQ Mac & iOS

    ________________________________________________________________________
    QuickEvent : Prise de rendez-vous rapide pour iPhone/iPad et iPod Touch (AppStore)
    Mon Livre sur AppleScript : AppleScript: L'essentiel du langage et de ses applications

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 54
    Par défaut
    Hé bien, pas vraiment.
    Ce que je peux faire avec mes connaissances et la FAQ c'est vérifier la taille d'un fichier avec fopen() fgets() fclose(), puis l'uploader ensuite si la taille me convient.
    Mais ça revient à l'envoyer deux fois....

    Je voudrais savoir si on peut vérifier la quantité de données uploadées à un instant donné, d'un fichier, pendant son upload ?

    Il me faudrait donc une technique d'upload où je contrôle l'upload en php, et pas seulement l'après-upload.
    Ou alors une technique toute faite qui fait déjà ce que je veux.

  4. #4
    Membre chevronné
    Inscrit en
    Septembre 2006
    Messages
    685
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 685
    Par défaut
    Ce n'est pas possible tout simplement.

    L'accès à un fichier sur un poste client (internet) n'étant pas possible par ton serveur, il n' y a pas d'autres choix que de l'uploader sur ton server pour en vérifier ses paramètres.

  5. #5
    Membre confirmé Avatar de zebulon94
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France, Val de Marne (Île de France)

    Informations forums :
    Inscription : Juin 2008
    Messages : 169
    Par défaut
    Bien entendu ton à configuré ton serveur php pour limité les uploads à 10Ko par exemple ?

    d.

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 54
    Par défaut
    Citation Envoyé par Xunil Voir le message
    Ce n'est pas possible tout simplement.

    L'accès à un fichier sur un poste client (internet) n'étant pas possible par ton serveur, il n' y a pas d'autres choix que de l'uploader sur ton server pour en vérifier ses paramètres.
    Et au moment de la réception du fichier par le serveur, on reçoit le fichier par paquets.
    Il doit donc être possible de calculer le poids des paquets téléchargés à un instant donné.
    Et dans le cas où on dépasse la taille on stoppe l'upload avant la fin.

    C'est forcément possible.
    Reste à savoir si quelqu'un sait comment faire ou si quelqu'un connaît un existant disponible me permettant de le faire.

  7. #7
    Membre émérite
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    957
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 957
    Par défaut
    Je dirais que dans l'absolu oui c'est possible mais l'upload n'est pas géré par PHP c'est géré par le protocole HTML qui passe ensuite le relais à PHP. Pour faire cela tu vas devoir réécrire ton serveur web.

    Le mieux dans ton cas c'est d'interdire le télechargement en amont, pour faire cela un widget flash + javascript est fortement recommandé.
    http://www.pixeline.be/experiments/jqUploader/test.php

  8. #8
    FoxLeRenard
    Invité(e)
    Par défaut
    Citation Envoyé par Beho Double Voir le message
    Et au moment de la réception du fichier par le serveur, on reçoit le fichier par paquets.
    Il doit donc être possible de calculer le poids des paquets téléchargés à un instant donné.
    C'est forcément possible.
    Dommage que tu ne connaisses pas trop les contraintes d'un serveur, quand tu écris "c' est forcément possible"

    C' est forcément malheureusement nom,

    Imagines un serveur comme celui de developpez.net et .com , des millier de visiteurs des millier de page alors comment paramétrer le serveur qui entre autre habrite d'autres sites , pour qu'il gére le téléchargement de ton avatar par exemùple ???

    Tu comprends bien que seul le php (ou autre langage) en a le control !
    ors la fonction va télécharger en temporary du serveur l'objet, là va en obtenir les capacitées poid, taille etc ...

    Et ni widget flash ni javascript n' y changeront rien

Discussions similaires

  1. Comment faire une requête optimisée avec limite
    Par beyo dans le forum Requêtes
    Réponses: 1
    Dernier message: 23/11/2012, 21h25
  2. Peux-ton fixer une limite d'upload / sec
    Par programmerPhil dans le forum Apache
    Réponses: 3
    Dernier message: 18/07/2006, 10h37
  3. Optimiser une Requetes SQL sous ASP
    Par NeHuS dans le forum ASP
    Réponses: 8
    Dernier message: 18/04/2005, 16h26
  4. Optimiser une requête SQL d'un moteur de recherche
    Par kibodio dans le forum Langage SQL
    Réponses: 2
    Dernier message: 06/03/2005, 20h55
  5. Comment optimiser une jointure ?
    Par seb_asm dans le forum Administration
    Réponses: 21
    Dernier message: 25/06/2004, 16h42

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