På adressen
http://test.eky.dk kan du se hvordan nedenstående kode ser ud. Den kan det du spørg om.
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>Ny side 2</title>
</head>
<body>
<?php
if(isset($_POST['send']))
{
if($_POST['send'] == "ok") {
//tilladte filtyper. Tilføj fx. "image/gif"
$allowedTypes = array("image/jpeg", "image/pjpeg", "image/jpg");
$maxFileSize = 1030720; //tilladt max-størrelse i bytes
$max_width = 1024; //Ja, tilladte max. højde
$max_height = 768; //Tilladte max. bredde
//*nix-path til originalfilens endelige placering
$path = $_SERVER['DOCUMENT_ROOT'] . "pics/";
IF($_FILES['img']['size']> 0)
{
//Er fil-typen blandt tilladte?
IF (in_array($_FILES['img']['type'],$allowedTypes))
{
//Er fil-størrelsen under max. tilladte?
IF ($_FILES['img']['size'] <= $maxFileSize)
{
//Find billedets størrelse
$size = getimagesize($_FILES['img']['tmp_name']);
//Filen er ikke for bred
if($size[0] < $max_width)
{
//Filen er ikke for høj
if($size[1] < $max_height)
{
//Læseligt tidsstempel - tilføjes senere filnavn og giver derved et unikt filnavn
$tid = date("His_dmy", time());
//Udregn skaleringsforholdet på thumb, her skal 100 rettes til den ønskede bredde
$new_w = 100;
$division = $size[0] / 100;
$new_h = $size[1] / $division;
//Lav et nyt billede så vi kan komme igang
$dst_img=ImageCreateTrueColor($new_w,$new_h);
$src_img=ImageCreateFromJpeg($_FILES['img']['tmp_name']);
//Smid noget indhold i, og resize
ImageCopyResized($dst_img,$src_img,0,0,0,0,$new_w,$new_h,ImageSX($src_img),ImageSY($src_img));
//*nix-path til thumbfilens endelige placering
$filename2 = "./pics/thumbs/" . $img=$tid.$_FILES['img']['name'];
//Udfør det hele
//echo "dst_img=".$dst_img."<br>";
//echo "filnavn2=".$filename2."<br>";
ImageJpeg($dst_img, $filename2);
//Flyt filen fra tmp til endelig placering
move_uploaded_file($_FILES['img']['tmp_name'], $path.$tid.$_FILES['img']['name']) or die("Desværre er der sket en fejl!");
echo "<a href='pics/".$tid.$_FILES['img']['name']."'><img border='0' src='".$filename2."'></a><br>";
if(isset($_POST['tekst']))
{
echo $_POST['tekst'];
}
}
ELSE
{
//Fejlmedl. hvis fil over max. tilladt
$fejl = "Billede ikke sat ind: Filen er for høj!";
}
}
ELSE
{
//Fejlmedl. hvis fil over max. tilladt
$fejl = "Billede ikke sat ind: Filen er for bred!";
}
}
ELSE
{
//Fejlmedl. hvis fil over max. tilladt
$fejl = "Billede ikke sat ind: Filen er for stor!";
}
}
ELSE
{
//Fejlmedl. hvis fil-format ikke tilladt
$fejl = "Billede ikke sat ind: Forkert fil-format!";
}
}
}
}
if(isset($fejl))
{echo $fejl;
}
?>
<p>
<form name="form" enctype="multipart/form-data" method="post">
<input type="hidden" name="send" value="ok">
<table align="center" width="100%" cellspacing="0" cellpadding="2" border="0">
<tr>
<td width="200" nowrap align="right"><b>Billede:</b></td>
<td><input name="img" class="file" type="file" style="width:80%"></td>
</tr>
<tr>
<td></td>
<td><input type="submit" class="knap" style="width:80%" value="Upload billede"></td>
</tr>
<tr>
<td width="200" nowrap align="right"><b>Tekst:</b></td>
<td><input type="text" name="tekst" size="20"></td>
</tr>
</table>
</form>
</p>
</body>
</html>