dit werkt perfect.
nu alleen 1 ding
als ik de foto in windows verkenner omdraai (bijv 90°) en dan de foto wil uploaden
laad hij deze op maar niet als de 90° gedraaide foto, wel als de originele versie.
dit is niet echt handig als je fotos hebt getrokken die normaal portret gezien moeten worden
iemand idee
<?php
/*Toegestane mime-types*/
$msgs_1 = array ();
$errs_1 = array ();
/*
Constanten voor exif_imagetype ()
1 IMAGETYPE_GIF
2 IMAGETYPE_JPEG
3 IMAGETYPE_PNG
*/
$allowed_1 = array (IMAGETYPE_JPEG,IMAGETYPE_PNG,IMAGETYPE_GIF);
function resize_1 ($path_1, $dst_w_1) {
list ($src_w_1, $src_h_1) = getimagesize ($path_1);
if ($dst_w_1 < $src_w_1) {
$ratio_1 = $dst_w_1 / $src_w_1;
$dst_h_1 = ceil ($ratio_1 * $src_h_1);
$src_1 = imagecreatefromjpeg ($path_1);
$dst_1 = imagecreatetruecolor ($dst_w_1, $dst_h_1);
imagecopyresampled ($dst_1, $src_1, 0, 0, 0, 0, $dst_w_1, $dst_h_1, $src_w_1, $src_h_1);
imagejpeg ($dst_1, $path_1, 80);
imagedestroy ($src_1);
imagedestroy ($dst_1);
}
}
// business logic
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$n_1 = count ($_FILES['userfile_1']['error']);
for ($i_1 = 0; $i_1 < $n_1; $i_1++) {
if (!$_FILES['userfile_1']['error'][$i_1]) {
$tmp_1 = $_FILES['userfile_1']['tmp_name'][$i_1];
$name_1 = time().date("m")."1".strrchr($_FILES['userfile_1']['name'][$i_1], ".");
$dir_1 = '../../klantpic/';
if (!in_array (exif_imagetype ($tmp_1), $allowed_1)) {
array_push ($errs_1, 'Sorry, alleen JPG');
}
elseif ($_FILES['userfile_1']['size'][$i_1] > 50000) {
array_push ($errs_1, 'Sorry, foto te groot');
}
else {
$path_1 = $dir_1 . $name_1;
if (is_uploaded_file ($tmp_1)) {
if (move_uploaded_file ($tmp_1, $path_1)) {
resize_1 ($path_1, 1000);
}
}
}
}
}
}?>