Contourner limite des 2mo pour l'envoie de fichiers (chez free notament)

Soyez le premier à donner votre avis sur cette source.

Snippet vu 8 280 fois - Téléchargée 19 fois

Contenu du snippet

ce programme permet de contourner la limite d'upload de fichier en POST qui est souvent de 2Mo. J'ai vu beaucoup de gens qui demandaient comment faire ... pour cela, on decoupe préalablement le fichier avec "coupefichier" en local (disponible sur le net). ensuite, on envoie chaque petite partie de fichier sur le serveur, et quand tous y sont, on utilise cette fonction pour les recoller

Je fourni la fonction "nue", je pense que vous l'intégrerez facilement ;)
Maleheureusement, ca risque de vous faire beaucoup de fichiers de 2Mo... Un jour si j'ai le temps, je ferai un programme java a integrer a la page web pour envoyer les fichiers directement, mais pour l'instant, faut s'en contenter

Si quelqu'un prend la motivation de faire le programme coté client, qu'il n'hésite pas !

Source / Exemple :


<?php 

function grouper($nom,$nombre)
{

	$He = fopen($nom, 'a');			//ouvre le fichier de sortie
	for ($i=1;$i<=$nombre;$i++){		//pour chaque petit fichier
		if ($i>=1000) $forme=$i ;	//met en format le numero sur 4 chiffres
		if ($i<1000) $forme="0".$i ;
		if ($i<100) $forme="00".$i ;
		if ($i<10) $forme="000".$i ;
	
		$test = $nom . $forme;		//concatenation du nom de fichier

		$hr = fopen($test, 'r'); 	//ouvre le fichier d'entree en lecture
		while (!feof($hr))		//tant qu'il y a quelque chose a lire
		{
			$Data = fread($hr, 8192); 	//ben on le lit
			fwrite($He, $Data); 		//puis on l'ecrit
		}

		fclose($hr);			//fermer le fichier d'entré
	}				//et aller au suivant
	fclose($He);			//on ferme de gros fichier final
}

	grouper("file1.avi",2);		//ligne d'exemple pour reconstituer un fichier avi
?>

A voir également

Ajouter un commentaire

Commentaires

kiki2sirom
Messages postés
153
Date d'inscription
mardi 17 août 2004
Statut
Membre
Dernière intervention
23 décembre 2010
-
le @ devant une fonction sert à ne pas renvoyer de message d'erreur si message d'erreur il y a lors de l'utilisation de cette fonction.
kiki
djmoa
Messages postés
39
Date d'inscription
mercredi 6 octobre 2004
Statut
Membre
Dernière intervention
27 mai 2009
-
J'en sais rien non plus... poses en un petit million voire plus dans une boucle et chronomètre.. Ceci dit dans ce code preci, ce qui prend beaucoup de temps c'est la copie de fichier, alors gagner quelques secondes sur la fonction ;) Mais comme Malalam dit, faut tester

et sinon petite question sur la signification du @ devant une fonction dans le code de kankrelune, histoire de m'éclairer ... quitte a ce que le code soit réecrit, autant comprendre les changements :D
malalam
Messages postés
10844
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
17 -
Je n'en ai aucune idée. Mais ça m'étonnerait, vu le fonctionnement de sprintf ()...ceci dit, c'est à bencher :-)
kiki2sirom
Messages postés
153
Date d'inscription
mardi 17 août 2004
Statut
Membre
Dernière intervention
23 décembre 2010
-
j'ai lu quelque part, je ne sais plus où, que sprintf était plus rapide que str_pad, c confirmé par ces messieurs de la "haute" programmation ?? ;-)
kiki2sirom
malalam
Messages postés
10844
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
17 -
Hello,

le triple égal est une comparaison typée, en PHP, ce n'est pas une erreur dans le code de Kankrelune.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.