Bonjour,
Afin de répondre à mon attente j'ai créé ceci , mais il me reste 2 choses à modifier mais là je sèche.
<?php
include("../../mainfile.php");
include(XOOPS_ROOT_PATH."/header.php");
$xoopsOption['show_rblock'] = 1;
?>
<div align="center"><bgcolor="#800000">
<img border="0" src="imageresizer_banner.jpg" width="" height=""><br><br></div>
<div align= "center">
<form enctype="multipart/form-data" action="index.php" method="post" name="news">
<input type="hidden" name="img" value="image">
<font face="Verdana" size="2">
<table width="600" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>
<br/><strong>Utilitaire pour redimensionnée vos photos</strong><br/></strong>
Poids maximum de la photo uploadées : 6 MO.<br/>
Vous pouvez définir la largeur et la hauteur de l'image.<br/>
Si seulement une Hauteur ou Largeur est renseignée l'image sera redimensionnée avec un calcul ratio.<br/><br/>
</td>
</tr>
</table>
<!-- Image -->
<table width="450" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>Image :
<input type="file" name="image" size="30"></td>
</tr>
</table>
<!-- end file Image -->
<!-- width xsize largeur de la photo -->
<table width="450" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>Largeur :
<input name="xsize" type="text" size="4" maxlength="4" value="800" /> pixels.</td>
</tr>
</table>
<!-- end file width xsize largeur de la photo -->
<!-- height ysize hauteur de la photo -->
<table width="450" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>Hauteur :
<input name="ysize" type="text" size="4" maxlength="4" value="600" /> pixels.</td>
</tr>
</table>
<!-- end file height ysize hauteur de la photo -->
<!-- start okay button table -->
<table width="450" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><input name="submitbutton" type="submit" value="Valider" /></td>
</tr>
</table>
<!-- end okay button table -->
</form>
<?php
if(isset($_POST['img'])) {
$xsize=$_POST['xsize'];
$ysize=$_POST['ysize'];
if ($_FILES['image']['size']> 6291456)
{
echo "Your image should be smaller than 4 megabytes";
}
if (!($_FILES['image']['type'] =="image/jpeg" OR $_FILES['image']['type']=="image/png" OR $_FILES['image']['type']=="image/gif"))
{
echo "Only jpeg, png and gif images are allowed.";
}
else
{
$target_path = "resizedimages/" . basename( $_FILES['image']['name']);
if(move_uploaded_file($_FILES['image']['tmp_name'], $target_path)) {
echo "";
} else{
echo "The image could not have been resized!";
}
$file = basename( $_FILES['image']['name']);
$file_info = getimagesize("resizedimages/" . $file);
$width = $file_info[0] ;
$height = $file_info[1];
echo "Origine de la photo: $file - largeur: $width pixels - hauteur: $height pixels";
$new_width= round($xsize);
$new_height= round($ysize);
$filename="resizedimages/$file";
if($_FILES['image']['type']=="image/jpeg"){ $img = imagecreatefromjpeg($filename);}
elseif($_FILES['image']['type']=="image/gif"){ $img = imagecreatefromgif($filename);}
elseif($_FILES['image']['type']=="image/png") { $img = imagecreatefrompng($filename);}
$tmp_img = imagecreatetruecolor( $new_width, $new_height );
// copy and resize old image into new image
imagecopyresized( $tmp_img, $img, 0, 0, 0, 0, $new_width, $new_height, $width, $height );
// save thumbnail into a file
imagejpeg( $tmp_img, "resizedimages/resized_$file" );
echo "<br /><img src="resizedimages/resized_$file"><br />Dimension de la photo - Largeur : $new_width pixels - Hauteur $new_height pixels <br /> Pour sauvegarder : Clique droit sur la photo et Enregistrer Image Sous.";
}
}
?>
<br />
</div></font>
<?php
include(XOOPS_ROOT_PATH."/footer.php");
?>
Il me faudrait que si une hauteur ou largeur manque que le ratio soit automatique.
J'ai essayer ceci mais cela donne une image avec des côtes bizarres
$new_height= round(($xsize/$width)*$height);
$new_width= round(($ysize/$height)*$width);
Et en deuxième je voudrais que les photos créés soient envoyé dans le dossier template afin de pouvoir le vider plus facilement.
@+ Titi