php.ini max_upload_filesize & cie

Eléphanteau du PHP | 18 Messages

28 juil. 2012, 17:06

Bonjour,

Je voudrais permettre l'upload de fichier jusqu'à 2go,
j'ai mis dans php.ini
max_upload_filesize = 2048M

comment configurer les autres paramêtre qui vont avec ?
max_post_size ? il est indiqué dans la doc que la valeur doit être plus grande que celle de max_upload_filesize, mais de combien ?

ces parametre doivent être aussi modifiés ?, si oui comment ? :
max_execution_time
max_input_time
memory_limit

est-ce qu'il y a d'autres choses à regler ?

Merci pour votre aide

ViPHP
AB
ViPHP | 5818 Messages

28 juil. 2012, 18:16

Bonjour,

Je voudrais permettre l'upload de fichier jusqu'à 2go,
j'ai mis dans php.ini
max_upload_filesize = 2048M

comment configurer les autres paramêtre qui vont avec ?
max_post_size ? il est indiqué dans la doc que la valeur doit être plus grande que celle de max_upload_filesize, mais de combien ?
max_post_size c'est la totalité du post, en plus du fichier, il y a d'autres valeurs qui sont passées dans le post, mais elles représentent souvent très peu. 1Mo de plus est donc largement suffisant. Par ailleurs si tu fais des chargements multiples avec un post_max_size de 64 Mo tu pourras télécharger 1 fichier d'environ 64Mo ou deux fichiers de chacun 34Mo (ou un de 60Mo et le second de 4Mo) etc.
ces parametre doivent être aussi modifiés ?, si oui comment ? :
max_execution_time
max_input_time
memory_limit
est-ce qu'il y a d'autres choses à regler ?
max_execution_time n'intervient pas pour le téléchargement de fichiers
pour max_input_time mets -1
memory_limit doit être plus grand que max_post_size.

N'espère pas que ces réglages soient pris en compte sur un serveur mutualisé.
Au passage un petit tuto

Eléphanteau du PHP | 18 Messages

28 juil. 2012, 19:44

Merci beaucoup pour ta réponse.
C'est un serveur dédié donc c'est bon.

Aussi, je voudrais faire quelque chose qui ressemble à "we transfert", penses tu que ce type de site utilise http(s) ?
Est-ce que c'est bien d'utiliser http pour des gros fichiers ?

ViPHP
AB
ViPHP | 5818 Messages

28 juil. 2012, 21:02

Merci beaucoup pour ta réponse.
C'est un serveur dédié donc c'est bon.
Aussi, je voudrais faire quelque chose qui ressemble à "we transfert", penses tu que ce type de site utilise http(s) ?
Apparemment en regardant vite fait c'est pour joindre des fichiers à un email, pas pour télécharger des fichier sur un serveur...
Est-ce que c'est bien d'utiliser http pour des gros fichiers ?
Avec php tu n'as pas d'autre choix. Youtube utilisait cette technique il y a encore peu de temps. Apparemment il ont trouvé une autre méthode qui sur les navigateurs récents permet d'utiliser le cache du navigateur, ce qui a l'avantage de pouvoir reprendre un téléchargement interrompu mais je n'ai pas eu le temps de regarder leur méthode (et puis il faut que mes script puissent fonctionner sur des navigateurs anciens donc cela peut attendre).

Sinon tu peux passer par java, mais il faut installer java sur l'ordinateur du visiteur, pareil pour flash.

En php tu peux utiliser cette classe

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

28 juil. 2012, 22:02

Cache côté client ? Dans ce genre http://www.alsacreations.com/article/li ... orage.html


@+
Il en faut peu pour être heureux ......

Eléphanteau du PHP | 18 Messages

29 juil. 2012, 09:45

Apparemment en regardant vite fait c'est pour joindre des fichiers à un email, pas pour télécharger des fichier sur un serveur...
Ca envoie le fichier sur leur serveur et en même temps un mail à la personne qui doit le récupérer + un lien dans le mail vers le fichier.
Avec php tu n'as pas d'autre choix.
Bon, impec alors
memory_limit doit être plus grand que max_post_size.
Là aussi, de combien ça doit être plus grand ?

ViPHP
AB
ViPHP | 5818 Messages

29 juil. 2012, 11:08

Apparemment en regardant vite fait c'est pour joindre des fichiers à un email, pas pour télécharger des fichier sur un serveur...
Ca envoie le fichier sur leur serveur et en même temps un mail à la personne qui doit le récupérer + un lien dans le mail vers le fichier.
Oui j'ai pas terminé ma phrase, je voulais dire "pas pour télécharger des fichier sur un serveur en php"
memory_limit doit être plus grand que max_post_size.
Là aussi, de combien ça doit être plus grand ?
Je suppose qu'il s'agit du poids des fichiers de l'upload plus le minimum nécessaire pour faire tourner ton script d'upload... soit maximum quelques centaines de ko en plus. Mais certainement beaucoup plus si tu y ajoute des redimensionnements d'images à la volée qui sont gourmands en mémoire vive.
Mais bon, je dis ça sous réserve, je ne suis pas spécialiste de l'administration de serveur, je connais simplement ces directives pour pouvoir les prendre en compte en développement car la classe que j'ai donnée en lien plus haut gère ces erreurs de dépassement pour éviter une page blanche.

Eléphanteau du PHP | 18 Messages

29 juil. 2012, 17:47

Oui j'ai pas terminé ma phrase, je voulais dire "pas pour télécharger des fichier sur un serveur en php"
je n'ai pas compris ce que tu veux dire ?

sur wetransfert, le fichier est bien uploadé sur leur serveur, via du flash mais le principe doit bien être aussi un envoi en http puis réception du fichier sur le serveur avec php (ou autre langage serveur) ?

si c'est pas ça, ça serait quoi ?

ViPHP
AB
ViPHP | 5818 Messages

29 juil. 2012, 18:26

Oui donc cela utilise flash et non php, c'est ce que je voulais dire.

Eléphanteau du PHP | 18 Messages

29 juil. 2012, 19:54

ok :)
merci encore pour toutes ces précisions