Amélioration de code d'upload d'image

Fermé
R@CK - 27 oct. 2010 à 23:31
choubaka Messages postés 39399 Date d'inscription jeudi 4 avril 2002 Statut Modérateur Dernière intervention 3 août 2024 - 28 oct. 2010 à 07:52
Bonsoir, j'ai eu ce bout de code pour l'upload d'image, mais quand je le test, je ne peux uploader que des images jpg. J'aimerai que les images PNG, JPG, JPEG, et BMP puissent être uploadés. Merci d'avance !

<?php //----------------------------
// DEFINITION DES VARIABLES
//----------------------------
$target = "files/"; // Repertoire cible
$extension = "jpg"; // Extension du fichier sans le .
$max_size = 10000000; // Taille max en octets du fichier
$width_max = 100000; // Largeur max de l'image en pixels
$height_max = 100000; // Hauteur max de l'image en pixels
//---------------------------------------------
// DEFINITION DES VARIABLES LIEES AU FICHIER
//---------------------------------------------
$nom_file = $_FILES['fichier']['name'];
$taille = $_FILES['fichier']['size'];
$tmp = $_FILES['fichier']['tmp_name'];
//----------------------
// SCRIPT D'UPLOAD
//----------------------
if($_POST['posted'])
{
// On vérifie si le champ est rempli
if($_FILES['fichier']['name'])
{
// On vérifie l'extension du fichier
if(substr($nom_file,-3) == $extension)
{
// On récupère les dimensions du fichier
$infos_img = getimagesize($_FILES['fichier']['tmp_name']);
// On vérifie les dimensions et taille de l'image
if(($infos_img[0] <= $width_max) && ($infos_img[1] <= $height_max) && ($_FILES['fichier']['size'] <= $max_size))
{
// Si c'est OK, on teste l'upload
if(move_uploaded_file($_FILES['fichier']['tmp_name'],$target.$_FILES
['fichier']['name']))
{
// Si upload OK alors on affiche le message de réussite
echo '<p align="center">';
echo '<font face="Verdana" size="2" color="#FF0000">';
echo '<b>Image uploadée avec succès !</b>';
echo '</font>';
echo '<hr>';
echo '<b>Fichier :</b> '.$_FILES['fichier']['name'].'</br>';
echo '<b>Taille :</b> '.$_FILES['fichier']['size'].' Octets</br>';
echo '<b>Largeur :</b> '.$infos_img[0].' px</br>';
echo '<b>Hauteur :</b> '.$infos_img[1].' px</br>';
echo '<hr>';
echo '<br><br>';
}
else
{
// Sinon on affiche une erreur système
echo '<p align="center">';
echo '<font face="Verdana" size="2" color="#FF0000">';
echo '<b>Problème lors de l\'upload !</b><br><br><b>'.$_FILES['fichier']['error'].'</b>';
echo '</font><br><br>';
}
}
else
{
// Sinon on affiche une erreur pour les dimensions et taille de l'image
echo '<p align="center">';
echo '<font face="Verdana" size="2" color="#FF0000">';
echo '<b>Problème dans les dimensions ou taille de l\'image !</b>';
echo '</font><br><br>';
}
}
else
{
// Sinon on affiche une erreur pour l'extension
echo '<p align="center">';
echo '<font face="Verdana" size="2" color="#FF0000">';
echo '<b>Votre image ne comporte pas l\'extension .JPG !</b>';
echo '</font><br><br>';
}
}
else
{
// Sinon on affiche une erreur pour le champ vide
echo '<p align="center">';
echo '<font face="Verdana" size="2" color="#FF0000">';
echo '<b>Le champ du formulaire est vide !</b>';
echo '</font><br><br>';
}
}
?>
A voir également:

1 réponse

choubaka Messages postés 39399 Date d'inscription jeudi 4 avril 2002 Statut Modérateur Dernière intervention 3 août 2024 2 101
28 oct. 2010 à 07:52
Salut

$target = "files/"; // Repertoire cible
$extensionjpg = "jpg"; // Extension du fichier sans le .
$extensionbmp = "bmp";
$extensionjpeg = "jpeg"; 
$extensionpng = "png"; 
$max_size = 10000000; // Taille max en octets du fichier
$width_max = 100000; // Largeur max de l'image en pixels
$height_max = 100000; // Hauteur max de l'image en pixels
//---------------------------------------------
// DEFINITION DES VARIABLES LIEES AU FICHIER
//---------------------------------------------
$nom_file = $_FILES['fichier']['name'];
$taille = $_FILES['fichier']['size'];
$tmp = $_FILES['fichier']['tmp_name'];
//----------------------
// SCRIPT D'UPLOAD
//----------------------
if($_POST['posted'])
{
// On vérifie si le champ est rempli
if($_FILES['fichier']['name'])
{
// On vérifie l'extension du fichier
if(substr($nom_file,-3) == $extensionjpg || $extensionjpeg || $extensionbmp || extensionpng)


ça devrait marcher...
0