Bonjour,
Je m'échine à essayer de permettre l'upload d'une image seulement si sa taille et son poids respectent les valeurs prévues.
Pour l'instant, j'en suis à controler le poids des images.
Voilà mon code sur la page du formulaire :
Et le code sur la page de réception :
Bon alors, si le fichier fait moins de 30ko, il est uploadé, je le retrouve dans le bon dossier.
Si le fichier fait plus de 30ko, alors il n'est pas uploadé, mais l'instruction du else n'est pas effectuée et le message echo'fichier trop gros' ne s'affiche pas.
J'ai essayé de modifier la valeur "MAX_FILE_SIZE" du input hidden pour être certain qu'elle soit supérieure aux fichiers de test, eux-mêmes supérieur à la valeur limite des conditions if, mais non, rien à faire, le echo n'est pas affiché.
Qui peut m'aider ?
Je m'échine à essayer de permettre l'upload d'une image seulement si sa taille et son poids respectent les valeurs prévues.
Pour l'instant, j'en suis à controler le poids des images.
Voilà mon code sur la page du formulaire :
Code:
<form method="post" action="creation-site.php" enctype="multipart/form-data">
8/9 ) Votre photo :</b> ajoutez une photo pour renforcer votre présentation (format 130px*130px et 30ko maximum).
<input type="hidden" name="MAX_FILE_SIZE" value="30000" />
<input type="file" name="photo" value="parcourir">
<input type="hidden" name="choix" value="2">
<input type="hidden" name="acceptation" value="ok">
<input type="submit" name="pro-gratuit-8" value="envoyer">
</form>
Et le code sur la page de réception :
Code:
//on test si il y a le fichier photo
if(is_uploaded_file($_FILES['photo']['tmp_name']))
{
//on test le poids
if( filesize($_FILES['photo']['tmp_name']) <= 30000 )
{
//si le poids est inférieur à 30ko, on l'insère
$chemin = 'visu/membres/';
if (move_uploaded_file($_FILES['photo']['tmp_name'], $chemin.$_FILES['photo']['name']))
{
echo "Le fichier ".$_FILES['photo']['name'].
" a été téléchargé avec succès dans ".$chemin;
}
;}//ferme le test du poids
//si poids >30KO, message d'erreur
else
{
echo'fichier trop gros'
;}
;}//ferme le test si le fichier est présent
Bon alors, si le fichier fait moins de 30ko, il est uploadé, je le retrouve dans le bon dossier.
Si le fichier fait plus de 30ko, alors il n'est pas uploadé, mais l'instruction du else n'est pas effectuée et le message echo'fichier trop gros' ne s'affiche pas.
J'ai essayé de modifier la valeur "MAX_FILE_SIZE" du input hidden pour être certain qu'elle soit supérieure aux fichiers de test, eux-mêmes supérieur à la valeur limite des conditions if, mais non, rien à faire, le echo n'est pas affiché.
Qui peut m'aider ?