sætte 2 funktioner sammen
Hejeksperter, jeg vil gerne havde disse 2 funktioner sammen, men kan ikke selv lige se hvordan.Det skal kunne uploade, og det gør mit script, men mit script scaler kun med 10%, men jeg ville gerne have at den max måtte være 150 i både "width" og "height".
Mit script (til at uploade):
<?PHP
if(isset($_POST["upload"])) {
//echo "--> " . $_FILES["upfile"]["tmp_name"];
if(!empty($_FILES["upfile"]["tmp_name"])) {
//hvilken fil det drejer sig om
$filename = $_FILES["upfile"]["tmp_name"];
//Her viser den billedet i fuld størrelse, ændres det til 10 vil den vise billedet 10 gane mindre
$percent = 90;
//Finder højde og bredde på billeder
list($width, $height) = getimagesize($filename);
$newwidth = $width * $percent / 100;
$newheight = $height * $percent / 100;
//Laver her det nye billede i true color(kun gdlib2)
$thumb = imagecreatetruecolor($newwidth, $newheight);
$source = imagecreatefromjpeg($filename);
//laver den nye billed størrelse
imagecopyresized($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
$name = time() . "_" . md5($_FILES["upfil"]["tmp_name"]) . ".jpg";
imagejpeg($thumb, "students/" . $name);
mysql_query("INSERT INTO hansan_student (name, slut_dato, note, pic) VALUES ('$_POST[name]','$_POST[slut_dato]','$_POST[note]','$name')") or die(mysql_error());
$msg = "Elev og <b>billede</b> tilføjet.";
} else {
mysql_query("INSERT INTO hansan_student (name, slut_dato, note) VALUES ('$_POST[name]','$_POST[slut_dato]','$_POST[note]')") or die(mysql_error());
$msg = "Elev tilføjet";
}
echo $msg;
exit();
}
?>
<form action="<?php echo $PHP_SELF; ?>" enctype="multipart/form-data" method="POST">
<table width="100%">
<tr>
<td align="left" valign="top">
<fieldset>
<legend>Navn på elev:</legend>
<input type="text" name="name">
</fieldset>
</td>
<td align="left" valign="top">
<fieldset>
<legend>Upload billede:</legend>
<input type="file" name="upfile">
</fieldset>
</td>
</tr>
<tr>
<td align="left" valign="top">
<fieldset>
<legend>Besked til elev:</legend>
<textarea rows="15" cols="75" name="note"></textarea>
</fieldset>
</td>
<td align="left" valign="top">
<fieldset>
<legend>Besked til elev:</legend>
<input type="text" name="slut_dato" value="2005-12-31" maxlength="10" size="8">
</fieldset>
</td>
</tr>
<tr>
<td align="left" valign="top"><input type="submit" name="upload" value="Upload"></td>
</tr>
</table>
</form>
den anden funktion som jeg har fundet på php.net: (http://dk2.php.net/manual/en/function.imagecopyresampled.php)
<?php
// The file
$filename = 'test.jpg';
// Set a maximum height and width
$width = 200;
$height = 200;
// Content type
header('Content-type: image/jpeg');
// Get new dimensions
list($width_orig, $height_orig) = getimagesize($filename);
if ($width && ($width_orig < $height_orig)) {
$width = ($height / $height_orig) * $width_orig;
} else {
$height = ($width / $width_orig) * $height_orig;
}
// Resample
$image_p = imagecreatetruecolor($width, $height);
$image = imagecreatefromjpeg($filename);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);
// Output
imagejpeg($image_p, null, 100);
?>
