Redimensionner automatiquement image suite a upload....
Posté : 24 juil. 2005, 13:31
Bonjour à tous,
Je viens de trouver un script pour redimensionner automatiquement les images suite a un upload. (Trouvé sur http://www.a525g.com/programmation/resi ... hp)Lorsque l'utilisateur télécharge une image, peut importe le format et la taille de celle-ci, l'image est automatiquement redimensionné à 90x130 pixels et enregistrée au format png.
Le probleme est que celui çi est en ASP et je ne connais pas ce langage.
Donc je recherche ce meme genre de script mais en PHP? ou pourriez vous me dire ce que je dois y changer.....
D'avance merci
Je viens de trouver un script pour redimensionner automatiquement les images suite a un upload. (Trouvé sur http://www.a525g.com/programmation/resi ... hp)Lorsque l'utilisateur télécharge une image, peut importe le format et la taille de celle-ci, l'image est automatiquement redimensionné à 90x130 pixels et enregistrée au format png.
Le probleme est que celui çi est en ASP et je ne connais pas ce langage.
Donc je recherche ce meme genre de script mais en PHP? ou pourriez vous me dire ce que je dois y changer.....
D'avance merci
<%@ Page Language="C#" Debug="true" %>
<%@ import Namespace="System.Drawing.Imaging" %>
<%@ import Namespace="System.IO" %>
<script runat="server">
void UploadBtn_Click(Object sender, EventArgs e)
{
String UploadedFile = MyFile.PostedFile.FileName;
int ExtractPos = UploadedFile.LastIndexOf("\\") + 1;
// Extraire le nom du fichier depuis le path
String UploadedFileName = UploadedFile.Substring(ExtractPos,UploadedFile.Length - ExtractPos);
// Enregistrer le fichier téléchargé sur le serveur dans le répertoire images.
// On change le nom de l'image en lui ajoutant la date du jour en début de nom
// de fichier.
// Ceci permet d'éviter qu'un autre utilisateur télécharge une image du même nom.
DateTime rightNow = DateTime.Now;
String s = rightNow.ToString();
s = s.Replace(" ","-");
s = s.Replace(":","");
MyFile.PostedFile.SaveAs(Server.MapPath("/exemple") + "\\images\\" + s + UploadedFileName );
// Début de la création de la petite image (thumbnail)
try
{
// Trouver le nom de l'image dont le thumbnail doit être créé.
String imageUrl= s + UploadedFileName;
// Trouver la hauteur et la largeur de l'image.
// Spécifier une taille standard
int imageWidth1 = 0;
int imageHeight1 = 0;
if (po.Checked)
{
imageWidth1 = 90;
imageHeight1 = 130;
}
if (pa.Checked)
{
imageWidth1 = 130;
imageHeight1 = 90;
}
if (imageUrl.IndexOf("/") >= 0 || imageUrl.IndexOf("\\") >= 0 )
{
// Il y a présence d'un / ou \
Response.End();
}
// L'image téléchargée sera emmagasinée dans le répertoire images.
// Pour que la taille de l'image soit changé, l'image originale doit être dans le dossier images.
imageUrl = "/exemple/images/" + imageUrl;
System.Drawing.Image fullSizeImg = System.Drawing.Image.FromFile(Server.MapPath(imageUrl));
System.Drawing.Image.GetThumbnailImageAbort dCallBack = new System.Drawing.Image.GetThumbnailImageAbort(ThumbnailCallback);
System.Drawing.Image thumbNailImg1 = fullSizeImg.GetThumbnailImage(imageWidth1, imageHeight1, dCallBack, IntPtr.Zero);
// Enregistrer les images en format PNG
// Le format peut être ajusté en utilisant la propriété ImageFormat
thumbNailImg1.Save ( Server.MapPath("/exemple") + "\\images\\" + s + "-p.png", ImageFormat.Png);
thumbNailImg1.Dispose();
divImg.InnerHtml = "<img src=\"/exemple/images/" + s + "-p.png\" style=\"border:3px solid #999999;\" />";
}
catch(Exception ex)
{
Response.Write("Une erreur s'est produite : " + ex.ToString());
}
}
// Cette fonction est requise pour la création du thumbnail.
public bool ThumbnailCallback()
{
return false;
}
</script>
<html>
<head>
<title>A525G - Exemple d'upload et de resize d'image</title>
</head>
<body>
<form action="fileupload.php" method="post" enctype="multipart/form-data" runat="server">
<br />
<table border="1" width="95%" align="center" cellpadding="0" cellspacing="0" summary="">
<tr>
<th align="left" valign="middle" width="65%">
<span class="formulaire-texte-section-entete">
Ajout d'une image
</span>
</th>
<th align="left" valign="middle" width="35%">
</th>
</tr>
<tr>
<td align="left" colspan="2" width="100%">
<br />
<table width="100%" align="center" cellspacing="0" cellpadding="5">
<tr>
<td >
<b>Sélectionnez l'image à ajouter</b>
<br />
<input name="PostedFile" type="file" id="MyFile" runat="server" />
</td>
</tr>
</table>
<br />
<table width="100%" align="center" cellspacing="0" cellpadding="5">
<tr>
<td colspan="3">
<b>Indiquez l'orientation de votre photo</b>
</td>
</tr>
<tr>
<td width="30%"> </td>
<td width="30%"> </td>
<td width="40%">
</td>
</tr>
</table>
<table align="center" width="100%" cellpadding="3" cellspacing="0">
<tr>
<td bgcolor="#999999" align="center"><input type="submit" value="Ajouter" runat="server" onserverclick="UploadBtn_Click" /></td>
</tr>
<tr>
<td align="center"><div id="divImg" runat="server" /></td>
</tr>
</table>
</td>
</tr>
</table>
</form>
</body>
</html>