(pour ce qui est de créer la miniature et de l'uploader, ça fonctionne, mais je n'arrive pas à uploader dans le même temps la photo "taille normale"
<?
//Cookies du pseudo
//*****************
$pseudo = $_POST['pseudo'];
//Enregistre le pseudo actuel
if(($pseudo != "")&&($pseudo != "Anonyme"))setcookie ("cookie_rep", $pseudo, time()+3600*24*365); //valable 1 année
//Lecture du pseudo
$cook_rep= $HTTP_COOKIE_VARS["cookie_rep"];
if(!isset($cook_rep))$cook_rep = "Anonyme";
if($pseudo == "")$pseudo = $cook_rep;
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta name="description" content="Upload de photo avec redimentionnement" />
<title>upload</title>
</head>
<body bgcolor="#FFFFFF"><br>
<p align="center">
<?php
//------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
// création vignettes depuis photo
//------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
//----------------------------
// DEFINITION DES VARIABLES
//----------------------------
$test_local = 0;
$extension = 'image/jpeg';
$quality = 90; // Qualité de la compression JPEG
$kb_max = 70000; // Valeur max en octets de l'image finale
$max_size = 1000000; // Taille max en octets du fichier à uploader pour traitement
$largeurDestination = 150; // Largeur max de l'image finale en pixel
$nom_rep = "nom_du_dossier_miniatures";
$site = "http://".$_SERVER["HTTP_HOST"]."/nom_du_dossier/"; // Adresse du dossier où est installé le script (fin avec /)
//---------------------------------------------
// DEFINITION DES VARIABLES LIEES AUX FICHIERS
//---------------------------------------------
$nom_file = $_FILES['fichier']['name'];
$taille = $_FILES['fichier']['size'];
$tmp = $_FILES['fichier']['tmp_name'];
$ext_img = $_FILES['fichier']['type'];
$lien_dossier = $nom_rep;
$verif_exist = $nom_rep;
$verif_exist .= "/";
$verif_exist .= $nom_file;
//----------------------
// SCRIPT D'UPLOAD
//----------------------
//Vérifie l'existance du dossier de réception
//*******************************************
if(!file_exists($lien_dossier))
{
//Crée le répertoire de classement des photos s'il n'existe pas
if(!mkdir($lien_dossier,0755))
{
echo "Impossible de créer le répertoire : ",$lien_dossier," --> upload interrompu!!!";
exit;
}
}
//Enlever les accents
//*******************
function enlever_accents($dest_fichier){
$dest_fichier = strtr($dest_fichier, 'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ/',
'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy/');
//remplacer les caracteres autres que lettres, chiffres et point par _
$dest_fichier = preg_replace('/([^.a-z/0-9]+)/i', '_', $dest_fichier);
return $dest_fichier;
}
$nom_rep = enlever_accents($nom_rep);
$pseudo = enlever_accents($pseudo);
$verif_exist = enlever_accents($verif_exist);
$nom_file = enlever_accents($nom_file);
//Début de la procédure d'upload
//******************************
if(!empty($_POST['posted'])) {
// On vérifie si le champ est rempli
if(!empty($nom_file) && (!empty($pseudo))) {
//On vérifie que le nom du fichier n'existe pas
if(!file_exists($verif_exist)) {
// On vérifie l'extension du fichier
if($ext_img == $extension) {
// On récupère les dimensions du fichier
$infos_img = getimagesize($tmp);
// On vérifie la taille de l'image
if($taille <= $max_size) {
//upload du fichier
if(move_uploaded_file($tmp,$nom_rep."/".$nom_file)) {
echo '<b><font color=red>vignette uploadée avec succès !</font></b><br>';
//calcul et redimension
//*********************
$fichierSource = $nom_rep;
$fichierSource .= "/";
$fichierSource .= $nom_file;
$fichierSource = $fichierSource;
//hauteur / largeur
$rapport = $infos_img[1] / $infos_img[0];
//Dimension de sortie
$hauteurDestination = $largeurDestination * $rapport;
//Création de l'image
//*******************
$source = imagecreatefromjpeg($fichierSource);
$largeurSource = imagesx($source);
$hauteurSource = imagesy($source);
if($largeurSource > $largeurDestination){
$im = ImageCreateTrueColor ($largeurDestination, $hauteurDestination)
or die ("Erreur lors de la création de l'image");
}
else{
$im = ImageCreateTrueColor ($infos_img[0], $infos_img[1])
or die ("Erreur lors de la création de l'image");
$largeurDestination = $infos_img[0];
$hauteurDestination = $infos_img[1];
}
//Redimentionnement
//*****************
ImageCopyResampled($im, $source, 0, 0, 0, 0, $largeurDestination, $hauteurDestination, $largeurSource, $hauteurSource);
//Création du fichier de sortie
//*****************************
$fh=fopen($fichierSource,'w');
fclose($fh);
ImageJpeg ($im,$fichierSource,$quality);
$size_file = filesize($fichierSource);
//Test de la taille en kb de l'image définitive
//*********************************************
$size_file = filesize($fichierSource);
$iteration = 0;
while($size_file > $kb_max){
if($quality > 0)$quality -= 5;
else {$quality = "Erreur!!!"; break;}
unlink($fichierSource);
$fh=fopen($fichierSource,'w');
fclose($fh);
ImageJpeg ($im,$fichierSource,$quality);
$size_file = filesize($fichierSource);
$iteration++;
}
$lien_image = $site.$nom_rep."/".$nom_file;
//echo "L'image ci-dessous a été redimentionnée et chargée sur le serveur";
//echo "Lien de l'image : ".$lien_image."";
echo "<img border='0' src='".$lien_image."'>";
}
}
else {
// Sinon on affiche une erreur système
echo '<font color=red><b><u>ECHEC DE L'ENVOI</u><br><br>Problème lors de l'upload !</b><b>Erreur num : ', $_FILES['fichier']['error'], '</b></font>';
}
} else {
// Sinon on affiche une erreur pour les dimensions et taille de l'image
echo "<b>La taille du fichier dépasse la taille maximale autorisée de $max_size octets!</b>";
}
} else {
// Sinon on affiche une erreur pour l'extension
echo '<font color=red><b><u>ECHEC DE L'ENVOI</u><br><br>Votre image ne comporte pas l'extension .jpg !</b></font>';
}
} else {
//Sinon on demande de renommer
echo '<font color=red><b><u>ECHEC DE L'ENVOI</u><br><br>Une image avec le même nom existe déjà! Renommer la photo et réessayer, Merci.</b></font>';
}
} else {
// Sinon on affiche une erreur pour le champ vide
echo '<font color=red><b><u>ECHEC DE L'ENVOI</u><br><br>Aucune photo sélectionnée ou aucun pseudo entré!</b></font>';
}
//------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
// FIN création vignettes depuis photo
//------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
?>
<form enctype="multipart/form-data" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
<b>Envoyer le fichier :</b>
<input type="hidden" name="posted" value="1" />
<font color="#FFFFFF">Votre pseudo : </font><input name="pseudo" type="text" value="<?php echo $pseudo ?>" size="20" ><br><br>
<font color="#FFFFFF"> Sélectionner la photo : </font><input name="fichier" id="fichier" type="file"><br><br>
<input type="submit" value="Envoyer la photo" />
</form>
</body>
</html>