Problême avec la taille des photo upload!
micka30
Messages postés
102
Statut
Membre
-
Villa Flore -
Villa Flore -
Bonjour,
j'ai un probleme avec ce script, il me fait des miniature mais le problême c'est quelle ne fond pas toute la même taille!
voyez par vous même!
http://www.uncupidon.fr
merci d'avance de vaut reponses!
voici le script en question:
<?php
session_start();
$_SESSION['pseudo']
?>
<?php
include('mapageperso.php');
if(isset($_FILES['photo2']))
{
// params
unset($erreur);
$extensions_ok = array('png', 'gif', 'jpg', 'jpeg', 'PNG', 'GIF', 'JPG', 'JPEG',);
$taille_max = 1000000;
// vérifications
if( !in_array( substr(strrchr($_FILES['photo2']['name'], '.'), 1), $extensions_ok ) )
{
$erreur = 'Veuillez sélectionner un fichier de type png, gif ou jpg !';
}
elseif( file_exists($_FILES['photo2']['tmp_name'])
and filesize($_FILES['photo2']['tmp_size']) > $taille_max)
{
$erreur = 'Votre fichier doit faire moins de 1Mo !';
}
$extension = strrchr($_FILES['photo2']['name'], '.');
// copie du fichier
if(!isset($erreur))
{
$dest_fichier = time();
$dest_dossier = 'images/';
// copie du fichier
move_uploaded_file($_FILES['photo2']['tmp_name'], $dest_dossier . $dest_fichier . $extension);
echo 'Fichier uploadé avec succès!';
$limite = 250;
$size = getimagesize($dest_dossier.$dest_fichier.$extension);
$hauteur = $size[1];
$largeur = $size[0];
if($hauteur >= $limite OR $largeur >= $limite)
{
$source = imagecreatefromjpeg($dest_dossier.$dest_fichier.$extension); // L'image est la source
if($hauteur >= $limite AND $hauteur >> $largeur) // Calcule des dimensions miniatures
{
$hauteur = $hauteur / ($largeur / $limite); // Calcule de la hauteur miniature
$largeur = $limite;
}
else
{
$largeur = $largeur / ($hauteur / $limite); // Calcule de la largeur miniature
$hauteur = $limite;
}
$destination = imagecreatetruecolor($largeur, $hauteur); // On crée la miniature vide
$largeur_source = imagesx($source); // Largeur de la source
$hauteur_source = imagesy($source); // Hauteur de la source
$largeur_destination = imagesx($destination); // Largeur de la miniature
$hauteur_destination = imagesy($destination); // Hauteur de la miniature
// Notez bien que l'on n'est pas obligé de faire ces calculs, car on les a déjà fait. Moi je préfère, pour plus de sureté
$nomMiniature1 = 'moyensmall_'.$dest_fichier.$extension; // Nom de la miniature
imagecopyresampled($destination, $source, 0, 0, 0, 0, $largeur_destination, $hauteur_destination, $largeur_source, $hauteur_source); // Création de la
imagejpeg($destination, $dest_dossier.$nomMiniature1); // miniature
// D'abord, on se connecte à MySQL
mysql_connect('db235.1and1.fr', 'dbo239484070', 'twTXkwsH');
mysql_select_db('dbo239484070');
$pseudo = $_SESSION['pseudo'];
$photomoyenne = $nomMiniature1;
mysql_query('UPDATE infoclients SET photo1="'.$photomoyenne.'" WHERE pseudo="'.$pseudo.'"');
echo '<a href="'.$dest_dossier.$dest_fichier.$extension.'"><img src="'.$dest_dossier.$nomMiniature1.'" border="0"></a>';
}
$limite = 100;
$size = getimagesize($dest_dossier.$dest_fichier.$extension);
$hauteur = $size[1];
$largeur = $size[0];
if($hauteur >= $limite OR $largeur >= $limite)
{
$source = imagecreatefromjpeg($dest_dossier.$dest_fichier.$extension); // L'image est la source
if($hauteur >= $limite AND $hauteur >> $largeur) // Calcule des dimensions miniatures
{
$hauteur = $hauteur / ($largeur / $limite); // Calcule de la hauteur miniature
$largeur = $limite;
}
else
{
$largeur = $largeur / ($hauteur / $limite); // Calcule de la largeur miniature
$hauteur = $limite;
}
$destination = imagecreatetruecolor($largeur, $hauteur); // On crée la miniature vide
$largeur_source = imagesx($source); // Largeur de la source
$hauteur_source = imagesy($source); // Hauteur de la source
$largeur_destination = imagesx($destination); // Largeur de la miniature
$hauteur_destination = imagesy($destination); // Hauteur de la miniature
// Notez bien que l'on n'est pas obligé de faire ces calculs, car on les a déjà fait. Moi je préfère, pour plus de sureté
$nomMiniature = 'small_'.$dest_fichier.$extension; // Nom de la miniature
imagecopyresampled($destination, $source, 0, 0, 0, 0, $largeur_destination, $hauteur_destination, $largeur_source, $hauteur_source); // Création de la
imagejpeg($destination, $dest_dossier.$nomMiniature); // miniature
// D'abord, on se connecte à MySQL
mysql_connect('db235.1and1.fr', 'dbo239484070', 'twTXkwsH');
mysql_select_db('dbo239484070');
$pseudo = $_SESSION['pseudo'];
$photomini = $nomMiniature;
mysql_query('UPDATE infoclients SET photo2="'.$photomini.'" WHERE pseudo="'.$pseudo.'"');
}
}
}
?>
<html>
<body>
<!-- Erreur ? -->
<?php
if(isset($erreur))
{
echo '<p>', $erreur ,'</p>';
}
?>
<!-- Formulaire -->
<!-- Attention, ne de ne pas oublier le enctype="multipart/form-data" -->
<form method="POST" action="photo2222222.php" enctype="multipart/form-data">
<!-- Limiter la taille des fichiers à 500Ko -->
<input type="hidden" name="MAX_FILE_SIZE" value="1000000" />
photo 2
<!-- champs d'envoi de fichier, de type file -->
<input type="file" name="photo2" /><br/><br/>
<!-- bouton d'envoi -->
<input type="submit" name="envoi" value="Envoyer " />
</form>
</body>
</html>
j'ai un probleme avec ce script, il me fait des miniature mais le problême c'est quelle ne fond pas toute la même taille!
voyez par vous même!
http://www.uncupidon.fr
merci d'avance de vaut reponses!
voici le script en question:
<?php
session_start();
$_SESSION['pseudo']
?>
<?php
include('mapageperso.php');
if(isset($_FILES['photo2']))
{
// params
unset($erreur);
$extensions_ok = array('png', 'gif', 'jpg', 'jpeg', 'PNG', 'GIF', 'JPG', 'JPEG',);
$taille_max = 1000000;
// vérifications
if( !in_array( substr(strrchr($_FILES['photo2']['name'], '.'), 1), $extensions_ok ) )
{
$erreur = 'Veuillez sélectionner un fichier de type png, gif ou jpg !';
}
elseif( file_exists($_FILES['photo2']['tmp_name'])
and filesize($_FILES['photo2']['tmp_size']) > $taille_max)
{
$erreur = 'Votre fichier doit faire moins de 1Mo !';
}
$extension = strrchr($_FILES['photo2']['name'], '.');
// copie du fichier
if(!isset($erreur))
{
$dest_fichier = time();
$dest_dossier = 'images/';
// copie du fichier
move_uploaded_file($_FILES['photo2']['tmp_name'], $dest_dossier . $dest_fichier . $extension);
echo 'Fichier uploadé avec succès!';
$limite = 250;
$size = getimagesize($dest_dossier.$dest_fichier.$extension);
$hauteur = $size[1];
$largeur = $size[0];
if($hauteur >= $limite OR $largeur >= $limite)
{
$source = imagecreatefromjpeg($dest_dossier.$dest_fichier.$extension); // L'image est la source
if($hauteur >= $limite AND $hauteur >> $largeur) // Calcule des dimensions miniatures
{
$hauteur = $hauteur / ($largeur / $limite); // Calcule de la hauteur miniature
$largeur = $limite;
}
else
{
$largeur = $largeur / ($hauteur / $limite); // Calcule de la largeur miniature
$hauteur = $limite;
}
$destination = imagecreatetruecolor($largeur, $hauteur); // On crée la miniature vide
$largeur_source = imagesx($source); // Largeur de la source
$hauteur_source = imagesy($source); // Hauteur de la source
$largeur_destination = imagesx($destination); // Largeur de la miniature
$hauteur_destination = imagesy($destination); // Hauteur de la miniature
// Notez bien que l'on n'est pas obligé de faire ces calculs, car on les a déjà fait. Moi je préfère, pour plus de sureté
$nomMiniature1 = 'moyensmall_'.$dest_fichier.$extension; // Nom de la miniature
imagecopyresampled($destination, $source, 0, 0, 0, 0, $largeur_destination, $hauteur_destination, $largeur_source, $hauteur_source); // Création de la
imagejpeg($destination, $dest_dossier.$nomMiniature1); // miniature
// D'abord, on se connecte à MySQL
mysql_connect('db235.1and1.fr', 'dbo239484070', 'twTXkwsH');
mysql_select_db('dbo239484070');
$pseudo = $_SESSION['pseudo'];
$photomoyenne = $nomMiniature1;
mysql_query('UPDATE infoclients SET photo1="'.$photomoyenne.'" WHERE pseudo="'.$pseudo.'"');
echo '<a href="'.$dest_dossier.$dest_fichier.$extension.'"><img src="'.$dest_dossier.$nomMiniature1.'" border="0"></a>';
}
$limite = 100;
$size = getimagesize($dest_dossier.$dest_fichier.$extension);
$hauteur = $size[1];
$largeur = $size[0];
if($hauteur >= $limite OR $largeur >= $limite)
{
$source = imagecreatefromjpeg($dest_dossier.$dest_fichier.$extension); // L'image est la source
if($hauteur >= $limite AND $hauteur >> $largeur) // Calcule des dimensions miniatures
{
$hauteur = $hauteur / ($largeur / $limite); // Calcule de la hauteur miniature
$largeur = $limite;
}
else
{
$largeur = $largeur / ($hauteur / $limite); // Calcule de la largeur miniature
$hauteur = $limite;
}
$destination = imagecreatetruecolor($largeur, $hauteur); // On crée la miniature vide
$largeur_source = imagesx($source); // Largeur de la source
$hauteur_source = imagesy($source); // Hauteur de la source
$largeur_destination = imagesx($destination); // Largeur de la miniature
$hauteur_destination = imagesy($destination); // Hauteur de la miniature
// Notez bien que l'on n'est pas obligé de faire ces calculs, car on les a déjà fait. Moi je préfère, pour plus de sureté
$nomMiniature = 'small_'.$dest_fichier.$extension; // Nom de la miniature
imagecopyresampled($destination, $source, 0, 0, 0, 0, $largeur_destination, $hauteur_destination, $largeur_source, $hauteur_source); // Création de la
imagejpeg($destination, $dest_dossier.$nomMiniature); // miniature
// D'abord, on se connecte à MySQL
mysql_connect('db235.1and1.fr', 'dbo239484070', 'twTXkwsH');
mysql_select_db('dbo239484070');
$pseudo = $_SESSION['pseudo'];
$photomini = $nomMiniature;
mysql_query('UPDATE infoclients SET photo2="'.$photomini.'" WHERE pseudo="'.$pseudo.'"');
}
}
}
?>
<html>
<body>
<!-- Erreur ? -->
<?php
if(isset($erreur))
{
echo '<p>', $erreur ,'</p>';
}
?>
<!-- Formulaire -->
<!-- Attention, ne de ne pas oublier le enctype="multipart/form-data" -->
<form method="POST" action="photo2222222.php" enctype="multipart/form-data">
<!-- Limiter la taille des fichiers à 500Ko -->
<input type="hidden" name="MAX_FILE_SIZE" value="1000000" />
photo 2
<!-- champs d'envoi de fichier, de type file -->
<input type="file" name="photo2" /><br/><br/>
<!-- bouton d'envoi -->
<input type="submit" name="envoi" value="Envoyer " />
</form>
</body>
</html>
A voir également:
- Problême avec la taille des photo upload!
- Comment réduire la taille d'un fichier - Guide
- Google photo - Télécharger - Albums photo
- Reduire taille photo - Guide
- Photo filtre 7 gratuit - Télécharger - Retouche d'image
- Upload video youtube - Télécharger - Diffusion
2 réponses
Résolution des photos retouchent les avant avec un logiciel pour reduire ou augmenter leur résolution .
++
++
TAILLE IDENTIQUE DES PHOTOS TRANSFÉRÉES
Pour que les photos transférées soient toutes proportionnelles en taille, il ne faut pas comparer les largeurs et les hauteurs, mais la SURFACE.
MadM@tt propose cette solution à la page suivante :
https://codes-sources.commentcamarche.net/
Cela fonctionne très bien.
Pour que les photos transférées soient toutes proportionnelles en taille, il ne faut pas comparer les largeurs et les hauteurs, mais la SURFACE.
MadM@tt propose cette solution à la page suivante :
https://codes-sources.commentcamarche.net/
Cela fonctionne très bien.
mais, c'est les membres de mon site qui mettent les photo!
je ne peu pas leur demander de retoucher les photo avant de les upload!
++
il n y as pas une autre solution , qui ferais que mon script le fasse tout seul?
Salut