Frågan#1
Min thumb funktion skapar bara svarta jpg bilder av mina bilder. Koden för att ladda upp originalbilden fungerar men istället för att skapa en thumb så gör den en svart bild med rätt pixel propotioner. Såhär ser koden ut:
Formuläret som laddar upp original bilden:
<?php if (isset($_POST['SUBMIT'])) {
$tmpfil=$_FILES["fil"]["tmp_name"];
print "$tmpfil <br>";
$fil=$_FILES["fil"]["name"];
print "$fil";
move_uploaded_file("$tmpfil", "images/$fil");
//Skapar och sparar tumnageln
include_once('createThumb.php'); //inkluderar funktionen som skapar tumnageln
$source="images/$fil";
$dest ="thumb/$fil";
$sThumb = "thumb/$fil";
if(createThumb($fil,$sThumb,504,336)) $uploadReport[] = "Tumnagel sparad.";
else $uploadReport[] = "Tumnageln kunde ej skapas.";
} ?>
<form action="<?php echo $editFormAction; ?>" method="POST" enctype="multipart/form-data" name="form1" id="form1">
<table width="200" border="0">
<tr>
<td align="right" valign="top" scope="col"><p>Rubrik:</p></td>
<th scope="col"><label>
<input name="TITLE" type="text" id="TITLE" />
</label></th>
</tr>
<tr>
<td align="right" valign="top"><p>Text:</p></td>
<td><label>
<textarea name="TEXT" rows="4" id="TEXT"></textarea>
</label></td>
</tr>
<tr>
<td align="right" valign="top"><p>Bild:</p></td>
<td><label>
<input name="fil" type="file"/>
</label></td>
</tr>
<tr>
<td><input name="IMAGE" type="hidden" id="IMAGE" value="img src='<?php echo $sThumb; ?>'" /></td>
<td><label>
<input type="submit" name="SUBMIT" id="SUBMIT" value="Skicka" />
</label></td>
</tr>
</table>
<input type="hidden" name="MM_insert" value="form1" />
</form>
createThumb.php:
<?php
function createThumb($source, $dest, $newWidth = 504, $newHeight = 336, $quality = 100)
{
/*
Skriven av Rickard Claeson, 2006-11-06
Skapar en tumnagelbild av ett orginal med fokus på orginalets mittpunkt.
Returnerar false eller true beroende om förminskningen lyckades
$source = orginalbildens adress. Tex: 'images/bilden.jpg'
$dest = den skapade tumnagelns adress. Tex: 'thumbs/bildenThumb.jpg'
$newWidth = höjden tumnageln skall ha
$newHeight = bredden tumnageln skall ha
$quality = om komprimering skall ske -minska neråt. 100 innebär ingen komprimering.
*/
$x = 0;
$y = 0;
list($width, $height) = getimagesize($source);
$oldWidth = $width;
$width = ceil($newWidth * ($height/$newHeight));
if(($newHeight / $newWidth) < ($height / $oldWidth))
{
$diff = $oldWidth * (($height/$oldWidth) - ($newHeight/$newWidth));
$width -= $diff;
$height -= $diff;
$y = $diff/2;
}
$x = ceil(($oldWidth-$width) / 2);
$new_img = imagecreatetruecolor($newWidth,$newHeight);
$img = imagecreatefromjpeg($source);
imagecopyresampled($new_img,$img,0,0,$x,$y,$newWidth,$newHeight,$width,$height);
imagejpeg($new_img,$dest,$quality);
if(is_file($dest)) return(true);
else return(false);
}
?>
Thumb funktionen hittade jag på PHPp. Använder jag den helt fel eller vad är problemet? Dessutom så fungerar inte IMAGE fältet i formuläret som ska skicka en bildlänk till den uppladdade thumben till min DB, den skickar ingen PHP info, vad kan det bero på?