Amélioration de code d'upload d'image
R@CK
-
choubaka Messages postés 39986 Date d'inscription Statut Modérateur Dernière intervention -
choubaka Messages postés 39986 Date d'inscription Statut Modérateur Dernière intervention -
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:
- Amélioration de code d'upload d'image
- Code ascii - Guide
- Code puk bloqué - Guide
- Code de déverrouillage oublié - Guide
- Code activation windows 10 - Guide
- Upload video youtube - Télécharger - Diffusion
1 réponse
Salut
ça devrait marcher...
$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...