Problemen met fotoresizen.
Nu loop ik tegen het punt aan, dat ik op mijn manier 2 keer iets naar de header moet sturen, namelijk:
1. Eerst bij het formulier het enctype voor de foto (enctype='multipart/form-data')
2. Om na de post de foto te verkleinen moet ik weer aan de header vertellen dat het een image is, want anders krijg je van die vreemde tekentjes in beeld ;)
Hoe kan ik mijn foto resizen na het versturen van het formulier zonder de 'header already send' foutmelding?
code:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<?
echo "<form action='".$_SERVER['PHP_SELF']."' method='POST' enctype='multipart/form-data'>";
echo "<input type='hidden' name='MAX_FILE_SIZE' value='9999999'>";
echo "<input type='file' name='afbeelding' size='48' value=''>";
echo" <input class='button' type='submit' name='submit' value='verstuur'>";
// na de post komt de handle van de invoer en dus verkleinen van de foto
copy($_FILES["afbeelding"]["tmp_name"], "../afbeeldingen/crop/".$_FILES["afbeelding"]["name"]);
resize('../afbeeldingen/crop/'.$_FILES["afbeelding"]["name"]);
// functie foto resize
function resize($image)
{
$filename = $image;
$width = 200;
$height = 133;
header('Content-type: image/jpeg');
// verkrijg afmetingen
list($width_orig, $height_orig) = getimagesize($filename);
$ratio_orig = $width_orig/$height_orig;
if ($width/$height > $ratio_orig)
{
$width = $height*$ratio_orig;
}
else
{
$height = $width/$ratio_orig;
}
// Resize
$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);
}
?>
echo "<form action='".$_SERVER['PHP_SELF']."' method='POST' enctype='multipart/form-data'>";
echo "<input type='hidden' name='MAX_FILE_SIZE' value='9999999'>";
echo "<input type='file' name='afbeelding' size='48' value=''>";
echo" <input class='button' type='submit' name='submit' value='verstuur'>";
// na de post komt de handle van de invoer en dus verkleinen van de foto
copy($_FILES["afbeelding"]["tmp_name"], "../afbeeldingen/crop/".$_FILES["afbeelding"]["name"]);
resize('../afbeeldingen/crop/'.$_FILES["afbeelding"]["name"]);
// functie foto resize
function resize($image)
{
$filename = $image;
$width = 200;
$height = 133;
header('Content-type: image/jpeg');
// verkrijg afmetingen
list($width_orig, $height_orig) = getimagesize($filename);
$ratio_orig = $width_orig/$height_orig;
if ($width/$height > $ratio_orig)
{
$width = $height*$ratio_orig;
}
else
{
$height = $width/$ratio_orig;
}
// Resize
$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);
}
?>
Fer.
Niemand die mij kan helpen?
Hoe nu verder?
Bedankt!