Contourner limite upload_max_size du php.ini

Résolu
headhunterz -  
 headhunterz -
Bonjour à tous !

Je suis actuellement en train de développer une application permettant d'uploader et de télécharger des fichiers.
Le tout est réalisé en Flash pour l'interface de l'uploader, et PHP/MySQL pour le traitement des fichiers.
Jusque là tout fonctionne parfaitement, mais j'ai un gros problème que je n'arrive pas à résoudre.

Dans le fichier de configuration php.ini, certaines variables permettent de spécifier la taille maximale qu'un fichier peut faire afin d'être envoyé sur le serveur, comme upload_max_size ou encore post_max_size
Ces variables ont pour valeur par défaut 2Mb, ce qui signifie que je ne peut pas envoyer de fichier de plus de 2 Mb, et je cherche comment contourner le problème sans modifier ces variables.

Je sais bien que je pourrais les modifier par un .htaccess, mais la personne qui me demande cette application m'a demandé de ne pas modifier la config apache ou php.

La seule solution que j'ai trouvé possible, c'est de découper le fichier avant de l'envoyer, et de l'envoyer ensuite par morceaux de 2Mb maximum, mais c'est bien évidemment inpossible en PHP de faire des modifications sur les fichiers coté client, alors j'avoue que je suis dans une impasse. J'ai pensé faire le découpage dans mon fichier actionscript associé mon uploader en Flash, mais c'est un langage que je ne connais pas, et je n'ai rien trouvé sur le sujet.

Si vous aviez des idées, ou des pistes à me proposer, je vous en serait très reconnaissant !

Merci d'avance, et bonne journée !

2 réponses

dsy73 Messages postés 9252 Date d'inscription   Statut Contributeur Dernière intervention   2 485
 
Est-ce que les chunks (upload par partie) pourraient t'aider ?
https://github.com/blueimp/jQuery-File-Upload
0
headhunterz
 
Salut dsy73 !

J'ai justement essayé cette méthode ce matin, et j'ai utilisé un applet Java qui permet de découper un gros fichiers en chunks de 2Mb, ce qui me permet de ne plus avoir à modifier la config PHP.

Mon problème est résolu, mais je vais quand même essayer de trouver comment le faire moi même.

Merci de t'être intéressé à mon problème en tous cas :)
0