Tom's Guide > Forum > Programmation > [php]Upload d'images avec thumbnail

[php]Upload d'images avec thumbnail

Forum Programmation : [php]Upload d'images avec thumbnail

TomsGuide.com : 800 000 inscrits répondent à toutes vos questions high-tech et informatique. Pour obtenir de l'aide, inscrivez-vous gratuitement !
Mot :    Pseudo :           
 

Salut!
J'ai une gallerie d'images générée par spgm, cela veut dire que je met mes images dans un dossier, les thumbnail avec (mais renommés en _thb_monimage.jpg). Je vousdrais créer un formulaire avec un petit script php qui puisse uploader l'image, et créer un thumbnail, le renommer et aussi l'uploader en meme temps.
Voila ce que j'ai déja fait, mais il m'upload uniquement l'image originale et pas le thumbnail.
J'ai utilisé la méthode POST...
<?php

if ($REQUEST_METHOD == "POST" )
{

/* SUBMITTED INFORMATION - use what you need
* temporary filename (pointer): $imgfile
* original filename : $imgfile_name
* size of uploaded file : $imgfile_size
* mime-type of uploaded file : $imgfile_type
*/

/*== upload directory where the file will be stored
relative to where script is run ==*/

$uploaddir = "./gal/recently_uploaded_files";


/*== get file extension (fn at bottom of script) ==*/
/*== checks to see if image file, if not do not allow upload ==*/
$pext = getFileExtension($imgfile_name);
$pext = strtolower($pext);
if (($pext != "jpg" ) && ($pext != "jpeg" ))
{
print "<h1>ERROR</h1>Image Extension Unknown.<br>";
print "<p>Please upload only a JPEG image with the extension .jpg or .jpeg ONLY<br><br>";
print "The file you uploaded had the following extension: $pext</p>\n";

/*== delete uploaded file ==*/
unlink($imgfile);
exit();
}
$thumb = resize($imgfile);

/*== setup final file location and name ==*/
/*== change spaces to underscores in filename ==*/
$final_filename = str_replace(" ", "_", $imgfile_name);
$thumbnail = "_thb_".$final_filename;
$newfile = $uploaddir . "/$final_filename";
$newthumb = $uploaddir . "/$thumb";

/*== do extra security check to prevent malicious abuse==*/
if (is_uploaded_file($imgfile)){
if(is_uploaded_file($thumb)){

/*== move file to proper directory ==*/
if (!copy($imgfile,"$newfile" )){
if(!copy($thumb, "$newthumb" )){
/*== if an error occurs the file could not
be written, read or possibly does not exist ==*/
print "Error Uploading File.";
exit();
}
}
}
}

/*== delete the temporary uploaded file ==*/
unlink($imgfile);


print("<img src=\"$uploaddir"."$final_filename\">" );

/*== DO WHATEVER ELSE YOU WANT
SUCH AS INSERT DATA INTO A DATABASE ==*/
}
?>


</head>
<body bgcolor="#FFFFFF">

<h2>Uploadez une image </H2>

<form action="<?=$SCRIPT_NAME; ?>" method="POST" enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="300000">

<p>Upload Image: <input type="file" name="imgfile"><br>
<font size="1">Clickez sur Parcourir pour uploader une image</font><br>
<br>
<input type="submit" value="Upload Image">
</form>
</body>
</html>

<?php
/*== FUNCTIONS ==*/

function getFileExtension($str) {

$i = strrpos($str,"." );
if (!$i) { return ""; }

$l = strlen($str) - $i;
$ext = substr($str,$i+1,$l);

return $ext;

}
function resize(&$imgfile){
//-- RE-SIZING UPLOADED IMAGE

/*== only resize if the image is larger than 250 x 200 ==*/
// $imgsize = GetImageSize($imgfile);

/*== check size 0=width, 1=height ==*/
if (($imgsize[0] > 250) || ($imgsize[1] > 200))
{

/*== temp image file -- use "tempnam()" to generate the temp
file name. This is done so if multiple people access the
script at once they won't ruin each other's temp file ==*/
$tmpimg = tempnam("/tmp", "MKUP" );

/*== RESIZE PROCESS
1. decompress jpeg image to pnm file (a raw image type)
2. scale pnm image
3. compress pnm file to jpeg image
==*/

/*== Step 1: djpeg decompresses jpeg to pnm ==*/
system("djpeg $imgfile >$tmpimg" );


/*== Steps 2&3: scale image using pnmscale and then
pipe into cjpeg to output jpeg file ==*/
system("pnmscale -xy 250 200 $tmpimg | cjpeg -smoo 10 -qual 50 >$imgfile" );

/*== remove temp image ==*/
unlink($tmpimg);
return $imgfile;
}else {
return $imgfile;
}

}

?>
Est-ce que qqun peut m'aider???
Merci beaucoup
A+++

Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.
Tom's Guide > Forum > Programmation > [php]Upload d'images avec thumbnail
Aller à :

Il y a 461 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens