Dans un formulaire qui permet d'uploader du texte et des images, j'utilise
(depuis fort longtemps) <input type="hidden" name="MAX_FILE_SIZE"
value="50000">.
Ensuite, du côté PHP, je fais un certain nombre de contrôles pour m'assurer
que le fichier est bien un jpg et pas autre chose. En particulier :
$contenu1=getimagesize($_FILES['photo1']['tmp_name']);
$type1=$contenu1[2];
if ($type1!=2) { echo 'Erreur...';}
Si le fichier téléchargé est trop lourd, getimagesize me renvoie une
erreur.
J'ai conscience que ce n'est pas très propre comme solution et que je
devrais spécifiquement vérifier la taille du fichier que la personne a
tenté de télécharger, d'autant que c'est l'erreur la plus courante commise
par les utilisateurs.
Le mieux est-il de vérifier tout bêtement la taille du fichier dans
$_FILES['photo1']['size'] ou vaut-il mieux vérifier le contenu de
$_FILES['photo1']['error'] ? Ou bien ?...
Non, c'est encore pire. Le filtrage des données en amont est, à mon avis, une mauvaise politique. Il faut adapter les données lors de leur usage (pas testé, fait de tête) :
Non, c'est encore pire.
Le filtrage des données en amont est, à mon avis, une mauvaise
politique. Il faut adapter les données lors de leur usage (pas testé,
fait de tête) :
Non, c'est encore pire. Le filtrage des données en amont est, à mon avis, une mauvaise politique. Il faut adapter les données lors de leur usage (pas testé, fait de tête) :
C'est le genre de fonctions qu'il faut écrire et utiliser quand on créé des requêtes SQL, et qu'on intègre du texte à l'HTML.
Pascale
Mickaël Wolff écrivait news:4eaed967$0$2268$:
Ok. Dans ce cas, il suffit de demander à l'OS la taille du fichier ;)
Quelque chose dans ce goût là : filesize($_FILES['xxx']['tmp_namehéhé']);
Ah ah, je ne connaissais même pas cette fonction ! Ça donne un résultat différent de $_FILES['photo1']['size'] ?
Comme l'a proposé DuboisP, tu devrais regarder le paramétrage de ton hébergeur.
Je viens de regarder : la limite est à 64 M (octets ? bytes ?...) et moi je me limite à 50 Ko (l'objectif du changement d'hébergeur étant justement d'augmenter la taille autorisée des photos, vu que 50 Ko, ça fait vraiment pas lourd).
Ceci dit, je serais plus violent : mauvais hébergeur, changer hébergeur ;)
Le problème, c'est que je viens juste de payer pour un an...
Ok. Dans ce cas, il suffit de demander à l'OS la taille du fichier
;)
Quelque chose dans ce goût là :
filesize($_FILES['xxx']['tmp_namehéhé']);
Ah ah, je ne connaissais même pas cette fonction ! Ça donne un résultat
différent de $_FILES['photo1']['size'] ?
Comme l'a proposé DuboisP, tu devrais regarder le paramétrage de
ton hébergeur.
Je viens de regarder : la limite est à 64 M (octets ? bytes ?...) et moi je
me limite à 50 Ko (l'objectif du changement d'hébergeur étant justement
d'augmenter la taille autorisée des photos, vu que 50 Ko, ça fait vraiment
pas lourd).
Ceci dit, je serais plus violent : mauvais hébergeur,
changer hébergeur ;)
Le problème, c'est que je viens juste de payer pour un an...
Ok. Dans ce cas, il suffit de demander à l'OS la taille du fichier ;)
Quelque chose dans ce goût là : filesize($_FILES['xxx']['tmp_namehéhé']);
Ah ah, je ne connaissais même pas cette fonction ! Ça donne un résultat différent de $_FILES['photo1']['size'] ?
Comme l'a proposé DuboisP, tu devrais regarder le paramétrage de ton hébergeur.
Je viens de regarder : la limite est à 64 M (octets ? bytes ?...) et moi je me limite à 50 Ko (l'objectif du changement d'hébergeur étant justement d'augmenter la taille autorisée des photos, vu que 50 Ko, ça fait vraiment pas lourd).
Ceci dit, je serais plus violent : mauvais hébergeur, changer hébergeur ;)
Le problème, c'est que je viens juste de payer pour un an...
-- Pascale http://www.la-grille-verte.net
Pascale
La commande filesize m'a permis d'y voir plus clair : en fait, si j'en crois ce qu'elle me dit, c'est mon hébergeur actuel qui est trop « laxiste » : une photo qui apparaît comme faisant 50 Ko fait en réalité 50664 octets (c'est un exemple). Donc je ne peux pas franchement râler auprès de mon nouvel hébergeur... (: Par contre, ce qui m'étonne, c'est qu'en cas de dépassement de la taille maxi (quel que soit l'hébergeur), filesize($_FILES['photo1']['tmp_name']) renvoie un beau rien tout neuf, ce qui ne m'aide donc pas pour indiquer à mes utilisateurs que passé les bornes y a p'us d'limites...
-- Pascale http://www.la-grille-verte.net
La commande filesize m'a permis d'y voir plus clair : en fait, si j'en
crois ce qu'elle me dit, c'est mon hébergeur actuel qui est trop
« laxiste » : une photo qui apparaît comme faisant 50 Ko fait en réalité
50664 octets (c'est un exemple).
Donc je ne peux pas franchement râler auprès de mon nouvel hébergeur... (:
Par contre, ce qui m'étonne, c'est qu'en cas de dépassement de la taille
maxi (quel que soit l'hébergeur), filesize($_FILES['photo1']['tmp_name'])
renvoie un beau rien tout neuf, ce qui ne m'aide donc pas pour indiquer à
mes utilisateurs que passé les bornes y a p'us d'limites...
La commande filesize m'a permis d'y voir plus clair : en fait, si j'en crois ce qu'elle me dit, c'est mon hébergeur actuel qui est trop « laxiste » : une photo qui apparaît comme faisant 50 Ko fait en réalité 50664 octets (c'est un exemple). Donc je ne peux pas franchement râler auprès de mon nouvel hébergeur... (: Par contre, ce qui m'étonne, c'est qu'en cas de dépassement de la taille maxi (quel que soit l'hébergeur), filesize($_FILES['photo1']['tmp_name']) renvoie un beau rien tout neuf, ce qui ne m'aide donc pas pour indiquer à mes utilisateurs que passé les bornes y a p'us d'limites...
-- Pascale http://www.la-grille-verte.net
DuboisP
Le Mon, 31 Oct 2011 20:39:48 +0100, Pascale <chaton.tigre+ a écrit:
La commande filesize m'a permis d'y voir plus clair : en fait, si j'en crois ce qu'elle me dit, c'est mon hébergeur actuel qui est trop « laxiste » : une photo qui apparaît comme faisant 50 Ko fait en réalité 50664 octets (c'est un exemple). Donc je ne peux pas franchement râler auprès de mon nouvel hébergeur... (: Par contre, ce qui m'étonne, c'est qu'en cas de dépassement de la taille maxi (quel que soit l'hébergeur), filesize($_FILES['photo1']['tmp_name']) renvoie un beau rien tout neuf, ce qui ne m'aide donc pas pour indiquer à mes utilisateurs que passé les bornes y a p'us d'limites...
c'est normal le ko informatique, c'est 1024 donc, 50 ko, ce sont 51200 octets
-- Utilisant le client e-mail révolutionnaire d'Opera : http://www.opera.com/mail/
Le Mon, 31 Oct 2011 20:39:48 +0100, Pascale
<chaton.tigre+spam@alussinan.org> a écrit:
La commande filesize m'a permis d'y voir plus clair : en fait, si j'en
crois ce qu'elle me dit, c'est mon hébergeur actuel qui est trop
« laxiste » : une photo qui apparaît comme faisant 50 Ko fait en réalité
50664 octets (c'est un exemple).
Donc je ne peux pas franchement râler auprès de mon nouvel hébergeur...
(:
Par contre, ce qui m'étonne, c'est qu'en cas de dépassement de la taille
maxi (quel que soit l'hébergeur), filesize($_FILES['photo1']['tmp_name'])
renvoie un beau rien tout neuf, ce qui ne m'aide donc pas pour indiquer à
mes utilisateurs que passé les bornes y a p'us d'limites...
c'est normal
le ko informatique, c'est 1024
donc, 50 ko, ce sont 51200 octets
--
Utilisant le client e-mail révolutionnaire d'Opera :
http://www.opera.com/mail/
Le Mon, 31 Oct 2011 20:39:48 +0100, Pascale <chaton.tigre+ a écrit:
La commande filesize m'a permis d'y voir plus clair : en fait, si j'en crois ce qu'elle me dit, c'est mon hébergeur actuel qui est trop « laxiste » : une photo qui apparaît comme faisant 50 Ko fait en réalité 50664 octets (c'est un exemple). Donc je ne peux pas franchement râler auprès de mon nouvel hébergeur... (: Par contre, ce qui m'étonne, c'est qu'en cas de dépassement de la taille maxi (quel que soit l'hébergeur), filesize($_FILES['photo1']['tmp_name']) renvoie un beau rien tout neuf, ce qui ne m'aide donc pas pour indiquer à mes utilisateurs que passé les bornes y a p'us d'limites...
c'est normal le ko informatique, c'est 1024 donc, 50 ko, ce sont 51200 octets
-- Utilisant le client e-mail révolutionnaire d'Opera : http://www.opera.com/mail/
Pascale
DuboisP <patrickr.dubois.don' écrivait news::
c'est normal le ko informatique, c'est 1024 donc, 50 ko, ce sont 51200 octets
Rhâââ... j'aurais dû y penser. Il n'empêche que ça reste un mystère, cette différence de fonctionnement entre 2 hébergeurs, vu que le Ko sont censés peser pareil partout...
Chez mon hébergeur actuel (celui qui est laxiste, si on peut dire), c'est : PHP Version 5.2.6-1+lenny13 System Linux celia 3.0.4-grsec-em64t #0 SMP Tue Sep 6 23:04:09 CEST 2011 x86_64
Chez le nouvel hébergeur, c'est :
PHP Version 5.2.17 System Linux edain.planethoster.net 2.6.18-338.12.1.el5.lve0.8.34 #1 SMP Tue Jun 7 16:46:50 EEST 2011 x86_64
Y a-t-il un paramètre bien planqué quelque part qui justifierait cette différence de traitement ? -- Pascale http://www.la-grille-verte.net
c'est normal
le ko informatique, c'est 1024
donc, 50 ko, ce sont 51200 octets
Rhâââ... j'aurais dû y penser. Il n'empêche que ça reste un mystère, cette
différence de fonctionnement entre 2 hébergeurs, vu que le Ko sont censés
peser pareil partout...
Chez mon hébergeur actuel (celui qui est laxiste, si on peut dire), c'est :
PHP Version 5.2.6-1+lenny13
System Linux celia 3.0.4-grsec-em64t #0 SMP Tue Sep 6 23:04:09 CEST
2011 x86_64
Chez le nouvel hébergeur, c'est :
PHP Version 5.2.17
System Linux edain.planethoster.net 2.6.18-338.12.1.el5.lve0.8.34 #1
SMP Tue Jun 7 16:46:50 EEST 2011 x86_64
Y a-t-il un paramètre bien planqué quelque part qui justifierait cette
différence de traitement ?
--
Pascale
http://www.la-grille-verte.net
c'est normal le ko informatique, c'est 1024 donc, 50 ko, ce sont 51200 octets
Rhâââ... j'aurais dû y penser. Il n'empêche que ça reste un mystère, cette différence de fonctionnement entre 2 hébergeurs, vu que le Ko sont censés peser pareil partout...
Chez mon hébergeur actuel (celui qui est laxiste, si on peut dire), c'est : PHP Version 5.2.6-1+lenny13 System Linux celia 3.0.4-grsec-em64t #0 SMP Tue Sep 6 23:04:09 CEST 2011 x86_64
Chez le nouvel hébergeur, c'est :
PHP Version 5.2.17 System Linux edain.planethoster.net 2.6.18-338.12.1.el5.lve0.8.34 #1 SMP Tue Jun 7 16:46:50 EEST 2011 x86_64
Y a-t-il un paramètre bien planqué quelque part qui justifierait cette différence de traitement ? -- Pascale http://www.la-grille-verte.net