CONTOURNER LA LIMITE DE TAILLE DES FICHIERS IMPOSÉE PAR CERTAINS HÉBERGEURS
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 2007
-
17 juin 2006 à 11:53
creat1
Messages postés3Date d'inscriptionvendredi 16 avril 2004StatutMembreDernière intervention18 octobre 2007
-
18 oct. 2007 à 19:36
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
creat1
Messages postés3Date d'inscriptionvendredi 16 avril 2004StatutMembreDernière intervention18 octobre 2007 18 oct. 2007 à 19:36
Je ne comprends pas comment vous faites.
Le script fonctionne tres bien, tant que le fichier
à une taille inferieur à upload_max_filesize.
Des que le fichier depasse cette taille, le script ne recoit meme
pas l'info venant du formulaire!
isset($_FILES['userfile']['name']) est false!
pourriez vous m'aider?
kurt67
Messages postés48Date d'inscriptionvendredi 30 avril 2004StatutMembreDernière intervention 4 avril 2007 29 déc. 2006 à 11:24
Bon j'ai updaté mon code, mais très franchement, maintenant que j'ai mis mon site à jour j'ai la flemme d'updater la source de phpcs
Donc faites un tour sur le site si vous voulez l'update: http://phpmagic.awardspace.com/
ironzorg
Messages postés45Date d'inscriptionsamedi 20 mai 2006StatutMembreDernière intervention27 juin 2008 18 sept. 2006 à 18:45
Pas mal ... Perso j'aime bien meme si cela ne relève pas de ma compétence de donner mon avis dans ce genre de site ( genre site dédié au PHP :p )
Signé : un inconditionnel du cpp ...
kurt67
Messages postés48Date d'inscriptionvendredi 30 avril 2004StatutMembreDernière intervention 4 avril 2007 27 juin 2006 à 17:30
wow chouettos je ne savais pas qu'il y avait une commande...
et pour répondre à zeratul67, comme je l'ai dit précédemment cette découpe est possible en php, tout simplement en découpant le fichier uploadé quand il est encore dans le fichier temporaire du serveur (la restriction de taille n'est alors pas encore appliquée). Regardez le code que j'ai uploadé sur mon site: http://phpmagic.awardspace.com il découpe le fichier et créer le fichier contenant le code php qui le re-rassemble. Dites moi ce que vous en pensez et j'aimerais bien que des gens l'essayent (en fait je ne suis pas sur à 100% que ça fonctionne sur tout les serveurs, mais si c'est le cas j'updaterais le code de phpcs).
Par contre découper en javascript, à mon avis, ça le fait pas trop :D
Killvador
Messages postés19Date d'inscriptiondimanche 12 janvier 2003StatutMembreDernière intervention27 juin 2006 27 juin 2006 à 14:02
Pour les GNU/linuxiens, la commande split ressemble à ceci :
split -b taille -d -a 3 fichier fichier.
ou vous pouvez utilisez les suffixes k et m pour la taille (pour free 1 ou 2 m est une bonne taille).
le premier "fichier" est le nom du fichier à découper et le second est le préfixe (donc ne SURTOUT pas oublier le point à la fin).
Voila, j'aurais envie de dire gg kurt !
Pour démonstration de ce système : http://wildersmovies.free.fr/ -> la Maison de l'erreur
Quoi? de la pub??, mais vous mentez ! c'est pas vrai!
zeratul67
Messages postés97Date d'inscriptionmardi 9 avril 2002StatutMembreDernière intervention11 mai 2008 25 juin 2006 à 14:23
Ce qui serait sympa c'est une découpe et un upload via un script client, type javascript. Malheureusement il me semble que c'est bien trop incursif pour que le navigateur laisse faire ...
kurt67
Messages postés48Date d'inscriptionvendredi 30 avril 2004StatutMembreDernière intervention 4 avril 2007 19 juin 2006 à 19:52
lol merci :D
Il y a quelque chose de très utile que j'aimerais posté mais je ne suis pas sur de son fonctionnement (il a "l'air de fonctionner", mais j'aimerais de vrais avis).
En fait l'idée serait d'uploader les fichiers du pc sur le serveur via un script php qui découpe directement en morceaux ce fichier. Rappelez vous de la procédure: on utilise une fonction pour copier le fichier uploadé dans le cache de l'hébergeur dans un dossier du site. Maintenant en remplaçant 2 lignes de la première parties (celle qui définie $file et la ligne du fopen) par celles-ci:
$file = basename($_FILES['userfile']['name']);
$handle = fopen($_FILES['userfile']['tmp_name'], "rb")
or die ("Lecture impossible !");
On ouvre le fichier qui est dans le cache de l'hébergeur et les lignes qui le suivent le coupe en fichier de taille autorisée. Pretty cool n'est-ce pas? Mais la question du siècle vient maintenant: est-ce que le host a déjà appliqué sa restriction aux fichiers en cache? Sur awardspace ça marchait, mais ça serait bien si des gens pouvaient essayer. Je ne m'y connais pas trop non plus en config de apache: pour appliquer cette restriction l'applique-t'on juste aux fichiers uploadés par ftp?
aze555666
Messages postés208Date d'inscriptionmardi 13 avril 2004StatutMembreDernière intervention26 janvier 2009 19 juin 2006 à 18:45
très très bien.
J'avais justement eu le probleme avec des photos 6Mpx que je voulais mettre sur pandela (pour ceux qui ne connaissent pas, www.pandela.com est un exellment hébergeur gratuit. fo juste comprendre l'anglais le temps de créer le compte).
10/10 pour l'idée, la réalisation, et l'utilité du code.
WhiteDwarf
Messages postés510Date d'inscriptionsamedi 29 décembre 2001StatutMembreDernière intervention23 mai 2008 19 juin 2006 à 05:31
J'ai testé et j'aime beaucoup le principe, j'ai aussi testé un upload au passage, j'ai uploadé 4mo sur free et c'est passé...
En tout cas le code est bon et très bien pensé, bravo ^^
aller 8/10
TheSin
Messages postés331Date d'inscriptionmardi 12 novembre 2002StatutMembreDernière intervention10 février 2009 18 juin 2006 à 13:29
Très intéressant, c'est pas bête du tout et très bien pensé :-)
Ca devrait servir à plus d'un je pense ;-)
J_G
Messages postés1406Date d'inscriptionmercredi 17 août 2005StatutMembreDernière intervention28 août 200710 18 juin 2006 à 11:45
Excuse, j'avais lu "Initié".
kurt67
Messages postés48Date d'inscriptionvendredi 30 avril 2004StatutMembreDernière intervention 4 avril 2007 18 juin 2006 à 11:37
Euh... "Niveau de la source : Débutant". On peut pas mettre plus bas il me semble, si?
En tout cas merci pour le conseil et un de ces 4 je ferais une update avec ta fonction.
J_G
Messages postés1406Date d'inscriptionmercredi 17 août 2005StatutMembreDernière intervention28 août 200710 18 juin 2006 à 11:32
Salut,
Ma foi, cette source est originale... Donc c'est intéressant!
Par contre, le niveau "initié" est peut-être légèrement sur-évalué. Non ? Les fonction fopen, fgets et readfile sont tout de même la base...
Enfin c'est mon avis
A+
Petit commentaire en plus :
Dans la partie découpage de fichier
# while (strlen($istring) < 3)
# $istring = "0".$istring;
Il existe une fonction pour ça http://fr.php.net/manual/fr/function.str-pad.php # $istring = str_pad($istring, 3, '0', STR_PAD_LEFT);
Evangun
Messages postés1980Date d'inscriptiondimanche 20 février 2005StatutMembreDernière intervention24 septembre 20124 18 juin 2006 à 11:08
La taille maximum d'un fichier uploadé chez Free c'est 80Mo en ftp et 2Mo en http. à+
WhiteDwarf
Messages postés510Date d'inscriptionsamedi 29 décembre 2001StatutMembreDernière intervention23 mai 2008 18 juin 2006 à 00:26
oui assez :)
J'ai ce compte chez free depuis 4 ans et le fichier ca fais bien un an et demi qu'il est dessus
mais ils on peut être limités depuis...
kurt67
Messages postés48Date d'inscriptionvendredi 30 avril 2004StatutMembreDernière intervention 4 avril 2007 17 juin 2006 à 23:21
Tiens c'est bizarre... j'ai un pote qui m'a dit qu'il n'arrivait pas à uploader les fichiers de plus de 2mo... Peut-être qu'ils l'ont mis en place récemment? Tu l'as depuis longtemps ton fichier de 20mo sur free?
WhiteDwarf
Messages postés510Date d'inscriptionsamedi 29 décembre 2001StatutMembreDernière intervention23 mai 2008 17 juin 2006 à 20:30
Heu... j'ai un fichier de 20mo chez free :-S
kurt67
Messages postés48Date d'inscriptionvendredi 30 avril 2004StatutMembreDernière intervention 4 avril 2007 17 juin 2006 à 13:31
Oui bien sur mais moi perso j'ai php en localhost mais mon site est sur un hébergeur gratuit parce que ma connexion n'est pas suffisante et je n'ai pas mon pc allumé h24. Ce que je veux dire c'est qu'on peut s'en servir pour couper le fichier, mais c'est plus simple d'utiliser un vrai programme comme ceux cités.
FhX
Messages postés2350Date d'inscriptionmercredi 13 octobre 2004StatutMembreDernière intervention18 avril 20153 17 juin 2006 à 13:28
"Le code que j'ai posté est largement améliorable"
"Mais si vous avez php en localhost vous pouvez vous servir du code suivant."
> Si t'as PHP en localhost, c'est que t'as accès à Apache... :o
cs_KOS
Messages postés3Date d'inscriptionlundi 6 janvier 2003StatutMembreDernière intervention19 janvier 2007 17 juin 2006 à 12:46
Ben franchement, c'est bien pensé, et bravo pour tes recherches... surtout pour les providers libres et gratuits auquel souvent, ils limitent la taille des fichiers...
Bravoo !!!
kurt67
Messages postés48Date d'inscriptionvendredi 30 avril 2004StatutMembreDernière intervention 4 avril 2007 17 juin 2006 à 12:37
Interdit pourquoi? J'ai mis mon code sur phpcs donc pas de problême. Et pour le pubs google, je doute que google soit franchement content que les utilisateurs cliquent pour aider le webmaster et non parce que les pubs les intéresse, mais bon tant pis. De toute façon le site n'est visité que par des googlebots :D
Sinon je précise parce que c'était pas très bien expliqué: le code php de la ligne 1 à 32 n'est pas vraiment importante, c'est juste pour couper un fichier. Mais dans aucun cas, ne mettez toutes les lignes de 1 à 67 dans un même fichier. La seconde partie (lignes 34 à 67) sert à réassembler le fichier. Je dis ça parce qu'on ne sait jamais, sur d'autres sources je me suis déjà heurté à des incompréhensions de newbies sur des choses qui me paraissaient évidentes (c'est pas un reproche cela dit).
Je précise également que ce code peut être un très bon complément de sécurité pour ceux qui utilisent le systême allopass avec le php.
Le code que j'ai posté est largement améliorable (par exemple généré un header différent en fonction du fichier) mais c'est à vous de voir... J'attend vos commentaires.
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 17 juin 2006 à 11:53
"Si vous avez aimé allez sur mon site 'et cliquez sur le pubs'"
18 oct. 2007 à 19:36
Le script fonctionne tres bien, tant que le fichier
à une taille inferieur à upload_max_filesize.
Des que le fichier depasse cette taille, le script ne recoit meme
pas l'info venant du formulaire!
isset($_FILES['userfile']['name']) est false!
pourriez vous m'aider?
29 déc. 2006 à 11:24
Donc faites un tour sur le site si vous voulez l'update: http://phpmagic.awardspace.com/
18 sept. 2006 à 18:45
Signé : un inconditionnel du cpp ...
27 juin 2006 à 17:30
et pour répondre à zeratul67, comme je l'ai dit précédemment cette découpe est possible en php, tout simplement en découpant le fichier uploadé quand il est encore dans le fichier temporaire du serveur (la restriction de taille n'est alors pas encore appliquée). Regardez le code que j'ai uploadé sur mon site: http://phpmagic.awardspace.com il découpe le fichier et créer le fichier contenant le code php qui le re-rassemble. Dites moi ce que vous en pensez et j'aimerais bien que des gens l'essayent (en fait je ne suis pas sur à 100% que ça fonctionne sur tout les serveurs, mais si c'est le cas j'updaterais le code de phpcs).
Par contre découper en javascript, à mon avis, ça le fait pas trop :D
27 juin 2006 à 14:02
split -b taille -d -a 3 fichier fichier.
ou vous pouvez utilisez les suffixes k et m pour la taille (pour free 1 ou 2 m est une bonne taille).
le premier "fichier" est le nom du fichier à découper et le second est le préfixe (donc ne SURTOUT pas oublier le point à la fin).
Voila, j'aurais envie de dire gg kurt !
Pour démonstration de ce système : http://wildersmovies.free.fr/ -> la Maison de l'erreur
Quoi? de la pub??, mais vous mentez ! c'est pas vrai!
25 juin 2006 à 14:23
19 juin 2006 à 19:52
Il y a quelque chose de très utile que j'aimerais posté mais je ne suis pas sur de son fonctionnement (il a "l'air de fonctionner", mais j'aimerais de vrais avis).
En fait l'idée serait d'uploader les fichiers du pc sur le serveur via un script php qui découpe directement en morceaux ce fichier. Rappelez vous de la procédure: on utilise une fonction pour copier le fichier uploadé dans le cache de l'hébergeur dans un dossier du site. Maintenant en remplaçant 2 lignes de la première parties (celle qui définie $file et la ligne du fopen) par celles-ci:
$file = basename($_FILES['userfile']['name']);
$handle = fopen($_FILES['userfile']['tmp_name'], "rb")
or die ("Lecture impossible !");
On ouvre le fichier qui est dans le cache de l'hébergeur et les lignes qui le suivent le coupe en fichier de taille autorisée. Pretty cool n'est-ce pas? Mais la question du siècle vient maintenant: est-ce que le host a déjà appliqué sa restriction aux fichiers en cache? Sur awardspace ça marchait, mais ça serait bien si des gens pouvaient essayer. Je ne m'y connais pas trop non plus en config de apache: pour appliquer cette restriction l'applique-t'on juste aux fichiers uploadés par ftp?
19 juin 2006 à 18:45
J'avais justement eu le probleme avec des photos 6Mpx que je voulais mettre sur pandela (pour ceux qui ne connaissent pas, www.pandela.com est un exellment hébergeur gratuit. fo juste comprendre l'anglais le temps de créer le compte).
10/10 pour l'idée, la réalisation, et l'utilité du code.
19 juin 2006 à 05:31
En tout cas le code est bon et très bien pensé, bravo ^^
aller 8/10
18 juin 2006 à 13:29
Ca devrait servir à plus d'un je pense ;-)
18 juin 2006 à 11:45
18 juin 2006 à 11:37
En tout cas merci pour le conseil et un de ces 4 je ferais une update avec ta fonction.
18 juin 2006 à 11:32
Ma foi, cette source est originale... Donc c'est intéressant!
Par contre, le niveau "initié" est peut-être légèrement sur-évalué. Non ? Les fonction fopen, fgets et readfile sont tout de même la base...
Enfin c'est mon avis
A+
Petit commentaire en plus :
Dans la partie découpage de fichier
# while (strlen($istring) < 3)
# $istring = "0".$istring;
Il existe une fonction pour ça http://fr.php.net/manual/fr/function.str-pad.php
# $istring = str_pad($istring, 3, '0', STR_PAD_LEFT);
18 juin 2006 à 11:08
18 juin 2006 à 00:26
J'ai ce compte chez free depuis 4 ans et le fichier ca fais bien un an et demi qu'il est dessus
mais ils on peut être limités depuis...
17 juin 2006 à 23:21
17 juin 2006 à 20:30
17 juin 2006 à 13:31
17 juin 2006 à 13:28
"Mais si vous avez php en localhost vous pouvez vous servir du code suivant."
> Si t'as PHP en localhost, c'est que t'as accès à Apache... :o
17 juin 2006 à 12:46
Bravoo !!!
17 juin 2006 à 12:37
Sinon je précise parce que c'était pas très bien expliqué: le code php de la ligne 1 à 32 n'est pas vraiment importante, c'est juste pour couper un fichier. Mais dans aucun cas, ne mettez toutes les lignes de 1 à 67 dans un même fichier. La seconde partie (lignes 34 à 67) sert à réassembler le fichier. Je dis ça parce qu'on ne sait jamais, sur d'autres sources je me suis déjà heurté à des incompréhensions de newbies sur des choses qui me paraissaient évidentes (c'est pas un reproche cela dit).
Je précise également que ce code peut être un très bon complément de sécurité pour ceux qui utilisent le systême allopass avec le php.
Le code que j'ai posté est largement améliorable (par exemple généré un header différent en fonction du fichier) mais c'est à vous de voir... J'attend vos commentaires.
17 juin 2006 à 11:53
C'est pas interdit de faire ça ?