Sur mon site, j'ai fais un système de reportages et chaque membre inscrit peut en proposer un.
L'intérêt est de pouvoir faire des articles avec photos (il s'agit du site d'un club sportif) mais je ne sais pas quel système utiliser :
Pour l'instant, je suis le seul à avoir poster un reportage ( ) et je me suis servi d'imageshak, ce qui fonctionne très bien mais qui peut ne pas être évident pour tout le monde.
A votre avis, cela vaut-il la peine de faire un système d'upload d'images ? et le stockage nécessite-t'il beaucoup de place ?
Je trouve également que ce serait mieux, mais n'ayant pas réussit moi-même à me faire ce que je voulais dans ce domaine, je comprends que tu ne veuilles ou ne puisses le faire !
Je vais continuer sur ce topic pour vous exposer mes problèmes rencontrés.
Je viens de faire en sorte que l'image stockée sur le site sois diminuée à l'aide du script de M@théo21.
Voici le code :
//on diminue la taille de l'image
$source = imagecreatefromjpeg($repertoire.$nom_fichier); // La photo est la source $destination = imagecreatetruecolor(320, 240); // On crée la miniature vide
// Les fonctions imagesx et imagesy renvoient la largeur et la hauteur d'une image $largeur_source = imagesx($source); $hauteur_source = imagesy($source); $largeur_destination = imagesx($destination); $hauteur_destination = imagesy($destination);
// On crée la nouvelle image
imagecopyresampled($destination, $source, 0, 0, 0, 0, $largeur_destination, $hauteur_destination, $largeur_source, $hauteur_source);
// On écrase l'ancienne image
imagejpeg($destination, $repertoire.$nom_fichier);
Ce script fonctionne très bien mais uniquement s'il s'agit d'une photo (donc au format jpg ou jpeg) et lorsque elle est prise au format paysage...
En effet, si la photo est un portrait, elle se retrouve toute déformée...
Comment faire alors pour que toutes les photos portraits soient réduites mais sans déformation ?
Salut, à mon avis, avoir les images uploadées sur son site ça évite d'avoir des liens morts si les links de ces images deviennent inactifs...
C'est pour ça que je suis en train de mettre en place un système d'upload sur mon site... pas évident en tout cas mais je pense que c'est fonctionnel une fois en place et stable...
salut popovtaz,
si tu veux des solutions toutes prêtes et optimisées, tu télécharges (ou consulte) le manuel php
http://www.php.net/download-docs.php
et tu affiches la fiche descriptive de la fonction imagecopyresampled.
Tu verras, il y a deux exemples qui résoudront tes problèmes.
A+
Je me suis enfin attellé à la confection de mon script d'upload.
Apparement çà fonctionne mais le code me semble lourd et le temps d'upload est assez long.
Voici mon code :
// On upload le fichier sur le serveur. if(move_uploaded_file($_FILES['fichier']['tmp_name'], $repertoire.$nom_fichier)) { $url = 'www.dauphins-aixois.com/'.$repertoire.''.$nom_fichier.''; echo'Votre image à été uploadée sur le serveur avec succes!<br>Voici le lien: <input type="text" value="' . $url . '" size="60">';
//------------------------------------------------------------ //on regarde s'il faut diminuer la taille de l'image //------------------------------------------------------------
//largeur max : 320, hauteur max : 240 list($width_orig, $height_orig) = getimagesize($repertoire.$nom_fichier);
if($width_orig > $width_max or $height_orig > $height_max) { //on determine le rapport de reduction if($width_orig > $width_max){$rapport = $width_orig/$width_max;} else{$rapport = $height_orig/$height_max;} } else{$rapport=1;}
//on diminue la taille de l'image //s'il s'agit d'un jpg if($extention == '.jpeg' or $extention == '.jpg' or $extention == '.pjpeg' or $extention == '.pjpg') { $source = imagecreatefromjpeg($repertoire.$nom_fichier); // La photo est la source $destination = imagecreatetruecolor($largeur, $hauteur); // On crée la miniature vide
// Les fonctions imagesx et imagesy renvoient la largeur et la hauteur d'une image $largeur_source = imagesx($source); $hauteur_source = imagesy($source); $largeur_destination = imagesx($destination); $hauteur_destination = imagesy($destination);
// On crée la nouvelle image
imagecopyresampled($destination, $source, 0, 0, 0, 0, $largeur_destination, $hauteur_destination, $largeur_source, $hauteur_source);
// On écrase l'ancienne image
imagejpeg($destination, $repertoire.$nom_fichier); }
//s'il s'agit d'un png elseif($extention == '.png' or $extention == '.x-png') { $source = imagecreatefrompng($repertoire.$nom_fichier); // La photo est la source $destination = imagecreatetruecolor($largeur, $hauteur); // On crée la miniature vide
// Les fonctions imagesx et imagesy renvoient la largeur et la hauteur d'une image $largeur_source = imagesx($source); $hauteur_source = imagesy($source); $largeur_destination = imagesx($destination); $hauteur_destination = imagesy($destination);
// On crée la nouvelle image
imagecopyresampled($destination, $source, 0, 0, 0, 0, $largeur_destination, $hauteur_destination, $largeur_source, $hauteur_source);
// On écrase l'ancienne image
imagepng($destination, $repertoire.$nom_fichier); }
//sinon, c'est qu'il s'agit d'un gif elseif($extention == '.gif') { $source = imagecreatefromgif($repertoire.$nom_fichier); // La photo est la source $destination = imagecreatetruecolor($largeur, $hauteur); // On crée la miniature vide
// Les fonctions imagesx et imagesy renvoient la largeur et la hauteur d'une image $largeur_source = imagesx($source); $hauteur_source = imagesy($source); $largeur_destination = imagesx($destination); $hauteur_destination = imagesy($destination);
// On crée la nouvelle image
imagecopyresampled($destination, $source, 0, 0, 0, 0, $largeur_destination, $hauteur_destination, $largeur_source, $hauteur_source);
// On écrase l'ancienne image
imagegif($destination, $repertoire.$nom_fichier); } }
else { echo'L\'image n\'a pas pu être uploadée sur le serveur.'; }
Est-ce que je procède correctement ?
Des images postées par des membres
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
https://www.guide-tnt.fr - https://www.worldwar.fr - https://www.easy-budget.fr