Hvad er fejlen i dette upload script
Hej eksperter.Jeg fandt dette upload script her på eksperten, men det vil ikke resize i bredden så thumb billede kommer til at være 180x130.
<?php
session_start();
$mysql['host'] = 'localhost'; // Host til database
$mysql['username'] = 'root'; // Brugernavn til database
$mysql['password'] = 'test'; // Kodeord til database
$mysql['database'] = 'bkv'; // Database
mysql_connect($mysql['host'],$mysql['username'],$mysql['password']);
mysql_select_db($mysql['database']);
//SETTINGS
$uploadDir = 'upload/'; //Bibliotek, hvor filer uploades til - husk chmod 777
$allowedFileTypes = array('jpg','gif','png'); //Hvilke filer vil vi acceptere bliver uploadet?
//THUMBS SETTINGS
$thumbDir = 'thumbs/'; //Bibliotek, hvor thumbs gemmes - husk chmod 777
$thumbPrefix = 'thumb_'; //Hvad skal tilføjes til originalt filnavn?
$uploadRand = rand(600,100000);
$thumbHeight = 130; //Thumb højde
$thumbWidth = 180; //Thumb bredde
$thumbQuality = 100; //Kvalitet af thumb, kan være fra 0 - dårligt til 100 - bedst
//Funktioner som bruges:
function getExtension($filename){
return strtolower( pathinfo( $filename, PATHINFO_EXTENSION ) );
}
function resize( $filename, $newfilename, $maxw, $maxh, $quality=100 )
{
$extension = getExtension($filename);
switch($extension)
{
case 'jpeg':
case 'jpe':
case 'jpg':
$srcim = imagecreatefromjpeg( $filename );
break;
case 'gif':
$srcim = imagecreatefromgif( $filename );
break;
case 'png':
$srcim = imagecreatefrompng( $filename );
break;
default:
return false;
}
$ow = imagesx( $srcim );
$oh = imagesy( $srcim );
$wscale = $maxw / $ow;
$hscale = $maxh / $oh;
$scale = min( $hscale, $wscale );
$nw = round( $ow * $scale, 0 );
$nh = round( $oh * $scale, 0 );
$dstim = imagecreatetruecolor( $nw, $nh );
imagecopyresampled( $dstim, $srcim, 0, 0, 0, 0, $nw, $nh, $ow, $oh );
switch($extension)
{
case 'jpeg':
case 'jpe':
case 'jpg':
imagejpeg( $dstim, $newfilename, $quality );
break;
case 'gif':
imagegif( $dstim, $newfilename );
break;
case 'png':
$png_q = floor( abs( $quality / 10 - 9.9 ) );
imagepng( $dstim, $newfilename, $png_q );
break;
default:
return false;
}
imagedestroy( $dstim );
imagedestroy( $srcim );
return file_exists($newfilename);
}
//Er der trykket på Upload file knappen?
if(isset($_POST['myUpload']))
{
//Har vi en fil?
if(is_uploaded_file($_FILES['myFile']['tmp_name']))
{
//Filendelse
$extension = getExtension($_FILES['myFile']['name']);
//Er filen en af de filer vi gerne vil have?
if(in_array($extension,$allowedFileTypes))
{
//Vi flytter filen fra tmp til vores UPLOADDIR
if(move_uploaded_file($_FILES['myFile']['tmp_name'],$uploadDir . $uploadRand . basename($_FILES['myFile']['name'])))
{
if(resize($uploadDir . $uploadRand . basename($_FILES['myFile']['name']), $thumbDir . $thumbPrefix . $uploadRand . basename($_FILES['myFile']['name']), $thumbWidth, $thumbHeight, $thumbQuality)){
echo '<h3 class="fbgreenbox">('.$uploadRand.''.basename($_FILES['myFile']['name']).') uploadet og resized</h3>';
$img_normal = $uploadRand . basename($_FILES['myFile']['name']);
//$sid = $_SESSION['id'];
$img_small = $thumbPrefix . $uploadRand . basename($_FILES['myFile']['name']);
//mysql_query("insert_into `users` SET `img` = '".$img_normal."', `img_small` = '".$img_small."' WHERE id = '$sid'")or die(mysql_error());
}else{
echo '<h3 class="fberrorbox">Dit billede er uploadet</h3>';
}
}
else
{
echo '<h3 class="fberrorbox">Fejl - Ikke muligt at uploade: '.basename($_FILES['myFile']['name']).'</h3>';
}
}
else
{
echo '<h3 class="fberrorbox">Forkert filtype, godkendte filtyper: ('.implode(',',$allowedFileTypes).')</h3>';
}
}
else
{
echo '<h3 class="fberrorbox">Du har ikke uploadet et billede<h3>';
}
}
//Vores form
echo '<form action="new_profilepic.php" method="post" enctype="multipart/form-data">';
echo '<p>Accepterede filtyper: ('.implode(',',$allowedFileTypes).'):</p> <input type="file" name="myFile"><br />';
echo '<input type="submit" name="myUpload" value="Upload Fil">';
echo '</form>';
?>