verkleinen van foto geeft foutmelding
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
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
<?php
// The file
$filename = 'test/PP1132410_bew.JPG';
// Set a maximum height and width
$width = 200;
$height = 200;
// Content type
header('Content-Type: image/jpeg');
// Get new dimensions
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;
}
// Resample
$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, 'test/test200.jpg', 80);
?>
// The file
$filename = 'test/PP1132410_bew.JPG';
// Set a maximum height and width
$width = 200;
$height = 200;
// Content type
header('Content-Type: image/jpeg');
// Get new dimensions
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;
}
// Resample
$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, 'test/test200.jpg', 80);
?>
als ik het script draai krijg ik de volgende foutmelding:
Quote:
"De afbeelding “http://domeinnaam/verklein.php” kan niet worden weergegeven, omdat deze fouten bevat."
Het bestandje test200.jpg is niet aangemaakt.
Ten eerste hoeft de foto niet getoond te worden. Maar wel weggeschreven. Wie weet wat ik fout doe?
Waarschijnlijk moet je de rechten even aanpassen van de map test. Die zullen wellicht op 777 staan. Zet ze eens op 666.
Daarin staat iets over afbeelding, maar in het pad staat een php bestand (verklein.php)
Het geeft geen verschil. Zelfde foutmelding
volgens mij heeft 666 minder rechten dan 777.
@obelix en idefix
de foutmelding staat op mijn browsersscherm (firefox)
verklein.php is de naam van het script dat hierboven staat.
Dan wordt de foto zeker niet weggeschreven toch. Maar wel even geprobeerd. Geeft precies dezelfde foutmelding.
ik bedoel het andersom inderdaad. met 777 heb je meer dan voldoende rechten
dat dacht ik al, meer kan niet volgens mij
www.jankoehoorn.nl/phphulp/
Script:
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
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
<?php
// The file
$filename = 'chicaenollie.jpg';
// Set a maximum height and width
$width = 200;
$height = 200;
// Content type
header ( 'Content-Type: image/jpeg' );
// Get new dimensions
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;
}
// Resample
$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 );
?>
// The file
$filename = 'chicaenollie.jpg';
// Set a maximum height and width
$width = 200;
$height = 200;
// Content type
header ( 'Content-Type: image/jpeg' );
// Get new dimensions
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;
}
// Resample
$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 );
?>
Toevoeging op 02/03/2013 22:32:38:
Het kan namelijk zijn dat je toch al een beetje output gegenereerd hebt voor het verzenden van je header waardoor php een foutmelding geeft en zodoende je imagefile ongeldig is geworden.
welke rechten en eigenaren heb jij dan staan?
Toevoeging op 02/03/2013 22:39:22:
@frank
met jouw aanwijzing is de foutmelding wel anders:
Quote:
Fatal error: Call to undefined function imagecreatetruecolor() in /home/www/beheer/verklein.php on line 24
maar ja, het blijft een foutmelding
Op het jpg bestand 666
Toevoeging op 02/03/2013 22:43:52:
Als de functie imagecreatetruecolor niet bestaat zal je script natuurlijk niet werken ;-)
laat header nog even uitstaan en doe eens
De huidige PHP versie: 5.2.4-2ubuntu5.26
http://www.php.net/manual/en/function.imagecreatetruecolor.php kun je het volgende lezen:
Ik geloof dat jij zo een versie hebt.
Op Quote:
Depending on your PHP and GD versions this function is defined or not. With PHP 4.0.6 through 4.1.x this function always exists if the GD module is loaded, but calling it without GD2 being installed PHP will issue a fatal error and exit. With PHP 4.2.x this behaviour is different in issuing a warning instead of an error. Other versions only define this function, if the correct GD version is installed.
Ik geloof dat jij zo een versie hebt.
Gewijzigd op 02/03/2013 22:51:54 door Frank Nietbelangrijk
Toevoeging op 02/03/2013 22:56:46:
Geen idee welke GD ik heb geinstalleerd. Is standaard installatie.
Toevoeging op 02/03/2013 22:59:55:
als je een hoop onleesbare tekst krijgt dan doet ie het en moet je alleen header weer even aanzetten
Dus een oudere (4.06) versie doet het wel goed, maar een nieuwere 5.2.4-2 niet? Lijkt me vreemd.