|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Nouveau Membre du Club
![]() Inscription : mai 2006 Messages : 76 ![]() |
Bonjour à tous, j'ai un petit soucis au niveau de mon script d'upload de fichier, dès que j'envoie un fichier supérieur à la limite fixée dans mon script (ou par php.ini), le script se mets à déconner.
Explication de déconner : lorsque la taille du fichier est supérieure à celle autorisée, le serveur recharge la page comme si de rien était Détails : Un formulaire avec deux champs : - Le nom de l'oeuvre - La photo de l'oeuvre (qui va être uploadée) Taille limite d'un fichier : 5 Mo Lorsque j'up un fichier inférieur à 5 Mo tout se passe bien, dès que j'up un fichier supérieur à 5 Mo, j'ai l'impression que le script tente d'envoyer le fichier (léger délai) puis recharge la page sans faire de traitement :/ Voilà un peu de code Code :
Merci à vous si vous avez des idées. |
||
|
|
00
|
|
|
#2 |
|
Inscrit
Inscription : octobre 2006 Messages : 637 ![]() |
PHP ne peut empecher le client d'envoyer un fichier supérieur à la taille maximale autorisé, bien que le MAX_FILE_SIZE soit un sujet parfait pour troller, dans votre cas je propose de faire un test avant de commencer le traitement des données reçues avec http://fr3.php.net/filesize
En effet, comme expliqué dans le manuel à la section d'upload de fichiers http://fr.php.net/features.file-upload, lorsque le script termine sont execution alors qu'un fichier uploadé est plus lourd que permis, il disparait du répertoire temporaire, en revanche, il faut effectivement bien prévoir le cas grace à filesize
__________________
Q: Dois-je haïr et cogner sur Microsoft ? R: Non, vous n'êtes pas obligé. Non pas que Microsoft n'est pas écoeurant, mais il y avait une culture hacker bien avant Microsoft et il y en aura une bien après que Microsoft aura été de l'histoire ancienne. Toute énergie dépensée à haïr Microsoft serait mieux employée par vos compétences et votre passion. Écrivez du bon code, cela brisera suffisamment Microsoft sans polluer votre karma. Comment devenir un hacker ? par Eric Steven Raymond |
|
|
00
|
|
|
#3 |
|
Nouveau Membre du Club
![]() Inscription : mai 2006 Messages : 76 ![]() |
Comment accéder au chemin du fichier qui va être uploadé ? On peut accéder au nom du fichier, pas de problème mais pour utiliser filesize() il faut le chemin + le nom du fichier. Et là on a pas le chemin du fichier
J'avais déjà fait un script d'upload et je n'avais pas ce soucis là, c'est ce qui m'étonne. J'ai matté tes liens, j'étais déjà allé les voir, ça ne change rien |
|
|
00
|
|
|
#4 | |
|
Membre confirmé
![]() Inscription : décembre 2006 Messages : 297 ![]() |
Citation:
is_null a tout à fait raison de dire que MAX_FILE_SIZE est un sujet de trollage, tout simplement parce qu'il est inutile. Il est facilement modifiable, donc MAX_FILE_SIZE est alors totalement perverti (donc inutilisable). |
|
|
|
00
|
|
|
#5 |
|
Nouveau Membre du Club
![]() Inscription : mai 2006 Messages : 76 ![]() |
En Gros il n'y a aps de solutions ?
|
|
|
00
|
|
|
#6 |
|
Membre confirmé
![]() Inscription : décembre 2006 Messages : 297 ![]() |
bah, c'est pas vraiment une erreur, étant donner que c'est normale
c'est une mesure de sécurité, qui fait que le serveur ne prendre pas (et n'est pas surcharger de manière continue) des requêtes d'une certaine taille si tu veux une solution, tu dois augmenter la taille des requêtes que le serveur peut prendre... |
|
|
00
|
|
|
#7 | |
|
Membre actif
![]() Inscription : juillet 2003 Messages : 257 ![]() |
Citation:
Code :
filesize($_FILES['userfile']['tmp_name']) |
|
|
|
00
|
|
|
#8 | |
|
Nouveau Membre du Club
![]() Inscription : mai 2006 Messages : 76 ![]() |
Citation:
Je n'ai pas compris ton edit... L'idée c'était de tester la taille du fichier à up avant de l'envoyer pour éviter de faire le traitement pour rien mais en gros c'est pas possible, le filesize sera toujours fait par rapport au fichier uploader. Je ferai avec, merci les gens. |
|
|
|
00
|
|
|
#9 |
|
Membre confirmé
![]() Inscription : décembre 2006 Messages : 297 ![]() |
Tu peux contrôler la taille du fichier avant l'upload, mais pour ça il faut que tu utilises autre chose que PHP (Flash ou Perl par exemple)
car PHP ne s'exécute quand une fois, et qu'une fois qu'il a tout reçu. Il n'y a pas de problème là en réalité, étant donné que c'est normale (le serveur est paramétré pour avoir cette réaction, il stop l'exécution du script.) |
|
|
00
|
|
|
#10 |
|
Nouveau Membre du Club
![]() Inscription : mai 2006 Messages : 76 ![]() |
J'ai bien compris. Merci à vous deux
|
|
|
00
|
|
|
#11 |
|
Membre confirmé
![]() Inscription : décembre 2006 Messages : 297 ![]() |
Il te reste plus qu'à te mettre à d'autre langage ;p
Tu peux facilement trouver des scripts PHP/CGI pour l'upload de fichier avec des barre de progression qui empêche au tout début l'upload de fichier que le serveur ne peut pas prendre |
|
|
00
|
|
|
#12 |
|
Nouveau Membre du Club
![]() Inscription : mai 2006 Messages : 76 ![]() |
Lol ouai ^^
Reste plus que ça à faire |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com