par
popo79pr » 15 juin 2010, 16:16
Bonjour,
Vous avez du lire mon code précédent (
php-avance/envoie-image-verification-de ... 53927.html).
Seul problème, c'est que certains internautes envoient des images trop grandes pour ma fenêtre, et pour une meilleure visibilité, j'aimerai que les images soient à la bonne taille.
J'ai trouvé un code php qui me plait, mais j'aimerais l'intégrer à mon code de base. Cependant, si vous avez une fonction simple à rajouter (ou plusieurs) pour redimensionner une image (max 200 pixels largeur ou hauteur) à intégrer directement dans mon code, je suis preneuse.
Voilà donc les différents codes :
=> Le code que j'aimerai utilisé (redimensionner une page : max 200 pixels largeur ou hauteur)
<?php
// Le fichier
$filename = 'test.jpg';
// Définition de la largeur et de la hauteur maximale
$width = 200;
$height = 200;
// Content type
header('Content-type: image/jpeg');
// Cacul des nouvelles dimensions
list($width_orig, $height_orig) = getimagesize($filename);
$ratio_orig = $width_orig/$height_orig;
if ($width/$height > $ratio_orig) {
$width = $height*$ratio_orig;
} else {
$height = $width/$ratio_orig;
}
// Redimensionnement
$image_p = imagecreatetruecolor($width, $height);
$image = imagecreatefromjpeg($filename);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);
// Affichage
imagejpeg($image_p, null, 100);
?>
=> Mon code de base
<?php
// Testons si le fichier a bien été envoyé et s'il n'y a pas d'erreur
if (isset($_FILES['monfichier']) AND $_FILES['monfichier']['error'] == 0)
{
// Testons si le fichier n'est pas trop gros
if ($_FILES['monfichier']['size'] <= 1000000)
{
// Testons si l'extension est autorisée
$infosfichier = pathinfo($_FILES['monfichier']['name']);
$extension_upload = $infosfichier['extension'];
$extensions_autorisees = array('jpg', 'jpeg', 'gif', 'png');
if (in_array($extension_upload, $extensions_autorisees))
{
// On peut valider le fichier et le stocker définitivement
move_uploaded_file($_FILES['monfichier']['tmp_name'], 'uploads/' . basename($_FILES['monfichier']['name']));
echo "L'envoi a bien été effectué !";
}
}
}
?>
Dois-je intégrer le premier code direct dans le deuxième ? Ca parait trop simple ...
SI vous pouviez m'envoyer le code final fini ... ce serait trés gentil

(en respectant mon code de base bien sûr)
S'il vous plait, aidez-moi

C'est assez urgent ...
Merci les amis !
Bonjour,
Vous avez du lire mon code précédent ([url]http://forum.phpfrance.com/php-avance/envoie-image-verification-des-images-diaporama-direct-t253927.html[/url]).
Seul problème, c'est que certains internautes envoient des images trop grandes pour ma fenêtre, et pour une meilleure visibilité, j'aimerai que les images soient à la bonne taille.
J'ai trouvé un code php qui me plait, mais j'aimerais l'intégrer à mon code de base. Cependant, si vous avez une fonction simple à rajouter (ou plusieurs) pour redimensionner une image (max 200 pixels largeur ou hauteur) à intégrer directement dans mon code, je suis preneuse.
Voilà donc les différents codes :
[b]=> Le code que j'aimerai utilisé (redimensionner une page : max 200 pixels largeur ou hauteur)[/b]
[php]<?php
// Le fichier
$filename = 'test.jpg';
// Définition de la largeur et de la hauteur maximale
$width = 200;
$height = 200;
// Content type
header('Content-type: image/jpeg');
// Cacul des nouvelles dimensions
list($width_orig, $height_orig) = getimagesize($filename);
$ratio_orig = $width_orig/$height_orig;
if ($width/$height > $ratio_orig) {
$width = $height*$ratio_orig;
} else {
$height = $width/$ratio_orig;
}
// Redimensionnement
$image_p = imagecreatetruecolor($width, $height);
$image = imagecreatefromjpeg($filename);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);
// Affichage
imagejpeg($image_p, null, 100);
?>
[/php]
[b]=> Mon code de base[/b]
[php]<?php
// Testons si le fichier a bien été envoyé et s'il n'y a pas d'erreur
if (isset($_FILES['monfichier']) AND $_FILES['monfichier']['error'] == 0)
{
// Testons si le fichier n'est pas trop gros
if ($_FILES['monfichier']['size'] <= 1000000)
{
// Testons si l'extension est autorisée
$infosfichier = pathinfo($_FILES['monfichier']['name']);
$extension_upload = $infosfichier['extension'];
$extensions_autorisees = array('jpg', 'jpeg', 'gif', 'png');
if (in_array($extension_upload, $extensions_autorisees))
{
// On peut valider le fichier et le stocker définitivement
move_uploaded_file($_FILES['monfichier']['tmp_name'], 'uploads/' . basename($_FILES['monfichier']['name']));
echo "L'envoi a bien été effectué !";
}
}
}
?>[/php]
Dois-je intégrer le premier code direct dans le deuxième ? Ca parait trop simple ...
SI vous pouviez m'envoyer le code final fini ... ce serait trés gentil :) (en respectant mon code de base bien sûr)
S'il vous plait, aidez-moi :( C'est assez urgent ...
Merci les amis !