Hey,
Ik ben nu andere halve dag aan het zoeken hoe ik een text over een plaatje kan zetten wat ik uit een database haal.
imagefromdb.php
Haalt info uit de database en maakt er een plaatje van. Werkt perfect!
makeimagesold.php
Zou het plaatje van imagefromdb.php moeten inlezen en de text SOLD er overheen moeten zetten.
De error die ik krijg is:
imagecreatefromjpeg(imagefromdb.php?Id=1&Checksum=96fd011c): failed to open stream: Invalid argument on line 15
ik heb al geprobeerd om een fopen functie ertussen te zetten waarbij die het plaatje eerst naar een tempdirectory copied, echter krijg ik daar deze error:
fopen(imagefromdb.php?Id=1&Checksum=96fd011c): failed to open stream: Invalid argument
Het moet toch mogelijk zijn? Er moet toch vast al iemand zijn die dit al een keer is gelukt?
iig thx,
Reano
Ik ben nu andere halve dag aan het zoeken hoe ik een text over een plaatje kan zetten wat ik uit een database haal.
imagefromdb.php
Haalt info uit de database en maakt er een plaatje van. Werkt perfect!
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
| if ((isset($Id)) && isset($Checksum)) // when not fake { require_once("connectdb.inc"); $settable = "bestanden"; $query = "SELECT * FROM $settable WHERE Id=".$Id." AND Checksum='".$Checksum."'"; $resultpic = @mysql_query ($query,$db) or die ("Error"); if (@mysql_num_rows($resultpic)>0) { $data = @mysql_result($resultpic, 0, "Bestandendata"); $filetype = @mysql_result($resultpic, 0, "FileType"); $filename = @mysql_result($resultpic, 0, "Bestandsnaam"); header("Content-type: $filetype"); header("Content-Disposition: inline; filename=$filename"); echo $data; } else { echo "Error"; } // einde } else { echo "Error"; } // illegaal plaatje genomen! |
makeimagesold.php
Zou het plaatje van imagefromdb.php moeten inlezen en de text SOLD er overheen moeten zetten.
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
| header("Content-type: image/jpeg"); header("Content-Disposition: inline; filename=test.jpg"); if (!isset($string)) { $string = "SOLD"; } $font = 8; $width = ImageFontWidth($font) * strlen($string); $height = ImageFontHeight($font); // Werkt niet :( $afbeelding = "imagefromdb.php.php?Id=".$Id."&Checksum=".$Checksum; $im = imagecreatefromjpeg($afbeelding); // Werkt wel :) //$im = imagecreatefromjpeg("plaatje.jpg"); //white background $background_color = imagecolorallocate ($im, 255, 255, 255); //Red text $text_color = imagecolorallocate ($im, 255, 255, 255); imagestring ($im, $font, 80, 80, $string, $text_color); imagejpeg ($im); |
De error die ik krijg is:
imagecreatefromjpeg(imagefromdb.php?Id=1&Checksum=96fd011c): failed to open stream: Invalid argument on line 15
ik heb al geprobeerd om een fopen functie ertussen te zetten waarbij die het plaatje eerst naar een tempdirectory copied, echter krijg ik daar deze error:
fopen(imagefromdb.php?Id=1&Checksum=96fd011c): failed to open stream: Invalid argument
Het moet toch mogelijk zijn? Er moet toch vast al iemand zijn die dit al een keer is gelukt?
iig thx,
Reano