alpking | Bonjour,
j'ai créé pour un module de news un script qui permet d'uploader une image sur le serveur. Une fois l'upload réussi, un message indique l'adresse de l'image uploadée afin de la copier coller dans la news.
J'aimerais qu'en uploadant cette image, une vignette soie créée, et donc qu'on l'affiche dans la news en qu'en cliquant dessus, l'image originale apparaisse.
J'ai pu voir que c'était possible grâce à GD2 mais étant débutant en php je n'ai pas très bien compris le fonctionnement.
Voilà mon script d'upload :
Code :
- <?php
- //---------------------------------------------
- // DEFINITION DES VARIABLES LIEES AU FICHIER
- //---------------------------------------------
- $nom_file = $_FILES['fichier']['name'];
- $taille = $_FILES['fichier']['size'];
- $tmp = $_FILES['fichier']['tmp_name'];
- $target = "image/"; // Repertoire cible
- $extensions = array('.jpg', '.JPG' , 'jpeg', 'JPEG','.png','.PNG','.gif','.GIF'); // Extension du fichier sans le .
- $ext = strtolower(substr($nom_file,'-4'));
- $max_size = 100000; // Taille max en octets du fichier
- $width_max = 600; // Largeur max de l'image en pixels
- $height_max = 600; // Hauteur max de l'image en pixels
- //----------------------
- // 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 (!in_array($ext, $extensions)) {
- echo "L'extension du fichier n'est pas valide !\n";
- exit();
- }
- else {
- // 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>Adresse du fichier à copier dans la news : </b>',htmlspecialchars('<img src="http://www.aaa.com/upload/image/'.$_FILES['fichier']['name'].'">');
- echo "</br>\n";
- 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 { //LIGNE 100
- // 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>';
- }
- }
- ?>
|
qu'est ce qu'il faut que je fasse ??
merci bp de votre aide |