<?php
$target = 'mon_site.com/'; // Repertoire cible
$extension = 'jpg'; // Extension du fichier sans le .
$width_max = 103; // Largeur max de l'image en pixels
$height_max = 114; // Hauteur max de l'image en pixels
//---------------------------------------------
// DEFINITION DES VARIABLES LIEES AU FICHIER
//---------------------------------------------
$nom_file = $_FILES['photo_1']['name'];
$taille = $_FILES['photo_1']['size'];
$tmp = $_FILES['photo_1']['tmp_name'];
//----------------------
// SCRIPT D'UPLOAD
//----------------------
// On vérifie si les champs sont remplis
if(empty($date) || empty($lieu) || empty($description) || empty($photo_1) || empty($photo_2) || empty($photo_3) || empty($photo_4) || empty($photo_5) || empty($photo_6) || empty($photo_7) || empty($photo_8) || empty($photo_9) || empty($photo_10))
{
echo '<b>Il faut remplir tous les champs du formulaire !</b><br><br>[ <a href="javascript:history.go(-1)">Retour au formulaire</a> ]';
}
else
{
// 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['photo_1']['tmp_name']);
// On vérifie les dimensions et taille de l'image
if(($infos_img[0] <= $width_max) && ($infos_img[1] <= $height_max)) {
// Si c'est OK, on teste l'upload
if(move_uploaded_file($_FILES['photo_1']['tmp_name'],$target.$_FILES['photo_1']['name'])) {
// Si upload OK alors on affiche le message de réussite
require ('../../../inc/config.php');
mysql_connect($serveur,$login,$pass);
mysql_select_db ($base);
mysql_query("insert into membres VALUES ('$id', '$date', '$lieu', '$description', '$_FILES[photo_1][name]', '$_FILES[photo_2][name]', '$_FILES[photo_3][name]', '$_FILES[photo_4][name]', '$_FILES[photo_5][name]', '$_FILES[photo_6][name]', '$_FILES[photo_7][name]', '$_FILES[photo_8][name]', '$_FILES[photo_9][name]', '$_FILES[photo_10][name]')");
mysql_close ();
echo '
Membre ajouté avec succès !<br><br>[ <a href="../../">Retour au sommaire</a> ]<br>
[ <a href="http://www.esprit-vtt.com">Retour au site</a> ]';
} else {
// Sinon on affiche une erreur système
echo '<b>Problème lors de l\'upload !</b><br /><br /><b>', $_FILES['photo_1']['error'], '</b><br /><br />';
}
} else {
// Sinon on affiche une erreur pour les dimensions de l'image
echo '<b>Problème dans les dimensions de l\'image.</b><br>L\'image doit faire 103 pixels de large sur 114 pixels de haut.<br><br>[ <a href="javascript:history.go(-1)">Retour au formulaire</a> ]';
}
} else {
// Sinon on affiche une erreur pour l'extension
echo '<b>L\'image ne comporte pas l\'extension .jpg</b><br>Merci de changer l\'extension.<br><br>[ <a href="javascript:history.go(-1)">Retour au formulaire</a> ]';
}
}
?>
Réponse de moogli
Le : 26/06/2008 à 15:11:01
Réponse de momo
Le : 30/06/2008 à 20:27:02
<?php
if (isset($_FILES['fichier']))
{
//$_FILES existe
foreach ($_FILES['fichier']['name'] as $key => $value) {
$fichier=$value;//nom reel de l'image
$size=$_FILES['fichier']['size'][$key]; //poids de l'image en octets
$tmp=$_FILES['fichier']['tmp_name'][$key];//nom temporaire de l'image (sur le serveur)
$type=$_FILES['fichier']['type'][$key];//type de l'image
//On récupère la taille de l'image
list($width,$height)=getimagesize($tmp);
if (is_uploaded_file($tmp)) //permet de vérifier si le fichier a été uplodé via http
{
//vérification du type de l'img, son poids et sa taille
if ($type=="image/gif" && $size<=20500 && $width<=100 && $height<=100 )
{
// type mime jpg, poids < à 20500 octets soit environ 20Ko, largeur = hauteur = 100px
//Pour supprimer les espaces dans les noms de fichiers car celà entraîne une erreur lorsque vous voulez l'afficher
$fichier = preg_replace ("` `i","",$fichier);//ligne facultative :)
//On vérifie s'il existe une image qui a le même nom dans le répertoire
if (file_exists('http://www.monsite.com/rep/images/nos_sorties/'.$fichier))
{
//Le fichier existe on rajoute dans son nom le timestamp du moment pour le différencier de la première (comme cela on est sûr de ne pas avoir 2 images avec le même nom :) )
$nom_final= preg_replace("`.gif`is",date("U").".gif",$fichier);
}
else {
$nom_final=$fichier; //l'image n'existe pas on garde le même nom
}
//on déplace l'image dans le répertoire final
if (move_uploaded_file($tmp,'../'.$nom_final)) {
//Message indiquant que tout s'est bien passé
//Pour le test on affiche l'image
echo '<img src="http://www.monsite.com/rep/images/nos_sorties/'.$nom_final.'" border="0" />';
echo '<br/>';
}
else {
//l'image ne peut être déplacée, on supprime le fichier temporaire
@ unlink ($tmp);
echo 'L\'image n\'a pu être déplacée !';
}
}
else {
//Le type mime, ou la taille ou le poids est incorrect
echo 'Votre image a été rejetée (poids, taille ou type incorrect)';
}
}
}
}
echo '<a href="javascript:history.back();">Retour</a>';
?>
Vous voici donc prêt à poster sur les forums de PHPDébutant. Avant toute chose, merci de prendre le temps de lire les quelques lignes qui suivent.
Attention, à partir du moment ou vous postez dans les forums, vous
acceptez la présente charte. Si votre message est modéré ou supprimé,
vous ne pourrez pas dire que vous n'étiez pas au courant des règles !
Avec tout ces conseils vous augmenterez les chances de réponse, leur pertinence et leur rapidité
Voilà, ça sera tout, bonne écriture :)