Ved ved move_uploaded_file
Kære eksperter.Jeg modtaget fejlen, Warning: Wrong parameter count for move_uploaded_file() - idet jeg prøver at resize billedet inden jeg uploader det? Hvad gør jeg galt?
-- For ikke at skabe forvirring er det værd at nævne, at jeg resizer billedet som thumbnail efterfølgende upload.. Jeg ønsker at sikre billedet holdes inden for to størrelser.
$uploadDir = './uploads/';
$thumbDir = './thumbs/';
$thumbPrefix = 'thumb_';
$normalHeight = 410;
$normalWidth = 620;
$thumbHeight = 78;
$thumbWidth = 118;
$thumbQuality = 85;
function resize( $filename, $newfilename, $maxw, $maxh, $quality=85 )
{
$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);
}
if($_FILES['file']['name'][$i]) {
if(move_uploaded_file(resize($uploadDir . basename($_FILES['file']['tmp_name'][$i]), $uploadDir . basename($_FILES['file']['name'][$i]), $normalWidth, $normalHeight, 90))) {
if(resize($uploadDir . basename($_FILES['file']['name'][$i]), $thumbDir . $thumbPrefix . basename($_FILES['file']['name'][$i]), $thumbWidth, $thumbHeight, $thumbQuality)){
echo '<h3 style="color:green;">File ('.$file_name[$i].') uploaded and resized succesfully</h3>';
}else{
echo '<h3 style="color:red;">File ('.$file_name[$i].') uploaded succesfully, but resize failed</h3>';
}
$uploaded=true;
} else {
$display_message.="Couldn't copy ".$file_name[$i]." to server.\n";
}
}
