Vérification de condition avec affichage message
Bonsoir !!
Voilà j'ai un petit problème avec mes messages devant s'afficher suivant la condition, ils ne s'affichent pas ... sauf la deuxième qui concerne le type d'extension.
Pourtant je déduis que la condition est bien vérifiée, et que tout est correct puisque l'image n'est pas uploader vers le dossier de destination.
Quel pourrait-être le problème ?
Voici le code concerné :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
|
if(isset($_FILES['image']['tmp_name']) && !empty($_FILES['image']['tmp_name']))
{
unset($erreur);
$extension_tolere = array('png', 'jpg', 'jpeg', 'gif', 'PNG', 'JPG', 'JPEG', 'GIF'); // extension d'images autorisées
$poids_max = 60000;
$dossier_upload = "../images/upload/";
list($width, $height, $type, $dim) = getimagesize($_FILES['image']['tmp_name']); // $dim donne directement height="$height" width="$width"
if($width > 450)
{
$erreur = 'Votre image est trop large, la largeur est limitée à 450px.';
}
elseif( !in_array( substr(strrchr($_FILES['image']['name'], '.'), 1), $extension_tolere ) ) // si l'extension n'est pas de type $extension_tolere
{
$erreur = 'Votre image doit-être de type png, gif, jpeg ou jpg.';
}
elseif( file_exists($_FILES['image']['tmp_name'])
&& filesize($_FILES['image']['tmp_name']) > $poids_max) // si son poids est supérieur à poids_max
{
$erreur = 'Votre image doit être inférieure à 60Ko !';
}
if(!isset($erreur))
{
$dest_img = basename($_FILES['image']['name']); // name signifie le nom de l'image sur la machine du visiteur
$dest_img = strtr($dest_img,
'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy'); // remplace les caractères spéciaux
$dest_img = preg_replace('/([^.a-z0-9]+)/i', '_', $dest_img); // remplace les autres caractères spéciaux
move_uploaded_file($_FILES['image']['tmp_name'], $dossier_upload . $dest_img); // tmp_name chemin temporaire du fichier
$alt = explode('.', $dest_img); // $alt[0] contient le nom de l'image, alt[1] son extension
$chemin = $dossier_upload . $dest_img; // le chemin relatif depuis la page php
}
if(isset($erreur))
{
echo '<p>' . $erreur .'</p>';
}
} |
Autre question, je pense pas que ce soit possible, mais je demande quand même :mrgreen:
Est-il possible de pouvoir utiliser, par exemple la variable $dim située dans mon code hors des conditions, car évidemment si je fais un echo de cette variable hors de celles-ci : variable inconnue.
Merci :D