Upload de très gros fichier.

alexflex25 Messages postés 106 Date d'inscription vendredi 29 septembre 2006 Statut Membre Dernière intervention 6 mars 2012 - 22 déc. 2011 à 09:51
cs_mdc888 Messages postés 25 Date d'inscription mardi 14 juin 2005 Statut Membre Dernière intervention 3 janvier 2012 - 3 janv. 2012 à 18:04
Bonjour,

Je me tourne à nouveau vers vous pour profiter de vos connaissances (inépuisables)

Peut-on « uploader » un fichier d'une taille supérieur à la mémoire disponible du serveur ?

Ex: Ma machine possède 1G de mémoire dédié à php, mes directives PHP sont configurés correctement, puis-je faire l'upload d'un fichier de plus de 1G ?

D'après mes première recherche je ne pense pas mais cela m'étonnes quand même beaucoup.
Comment fonctionne dl.free, ou megaupload...

D'après ce que j'ai lu sur php.net cela semble compromis mais peut-être que je me trompe.

Merci d'avance pour votre aide

extrait de php.net sur les directive:

post_max_size :
Définit la taille maximale des données reçues par la méthode POST. Cette option affecte également les fichiers chargés. Pour charger de gros fichiers, cette valeur doit être plus grande que la valeur de upload_max_filesize. Si la limitation de mémoire est activée par votre script de configuration, memory_limit affectera également les fichiers chargés. De façon générale, memory_limit doit être plus grand que post_max_size. Lorsqu'un entier est utilisé, sa valeur est mesurée en octets. Vous pouvez également utiliser la notation sténographique comme décrit dans cette entrée de la FAQ.. Dans le cas où la taille des données reçues par la méthode POST est plus grande que post_max_size, les superglobales $_POST et $_FILES seront vides. Ceci peut être surveillé de différentes façons, e.g. en passant une variable $_GET au script qui traite les données, i.e. <form action="edit.php?processed=1">, et ainsi vérifier si $_GET['processed'] est défini.

upload_max_filesize :
La taille maximale en octets d'un fichier à charger. Lorsqu'un entier est utilisé, sa valeur est mesurée en octets. Vous pouvez également utiliser la notation sténographique comme décrit dans cette entrée de la FAQ..

memory_limit integer :
Cette option détermine la mémoire limite, en octets, qu'un script est autorisé à allouer. Cela permet de prévenir l'utilisation de toute la mémoire par un script mal codé. Notez que pour n'avoir aucune limite, vous devez définir cette directive à -1.

Avant la version 5.2.1 de PHP, pour pouvoir utiliser cette directive, vous deviez l'activer au moment de la compilation en utilisant l'option --enable-memory-limit dans la ligne de configuration. Cette option de compilation était aussi requise afin de définir les fonctions memory_get_usage() et memory_get_peak_usage() avant la version 5.2.1

Lorsqu'un entier est utilisé, sa valeur est mesurée en octets. Vous pouvez également utiliser la notation sténographique comme décrit dans cette entrée de la FAQ.

1 réponse

cs_mdc888 Messages postés 25 Date d'inscription mardi 14 juin 2005 Statut Membre Dernière intervention 3 janvier 2012
3 janv. 2012 à 18:04
Il faut savoir que megaupload (je n'ai testé que chez eux) limitent aussi la taille maxi d'un fichier, et c'est AMHA une limite physique...
0