Alvorens het probleem waar ik tegenaan loop uit de doeken te doen wil ik even vermelden dat ik gezocht heb op google en hier op GoT.
Ook op PHP.net heb ik nog wat gezocht, zonder resultaat.
Voor een kleine fotogalerij wil ik mijn foto's met behulp van PHP in mijn MySQL database proppen.
Dit wil opzich goed lukken, maar ik wil er ook thumbnails bij hebben.
Deze worden van de originele afbeelding gemaakt dmv GDlib, maar hier gaat iets fout.
Namelijk elke keer als ik een foto upload komt de originele foto goed in de database, maar de resized versie is altijd 147bytes groot en geeft geen plaatje als ik hem probeer op te roepen.
Nergens krijg ik foutmeldingen en ik vraag me af wat er nu mis gaat.
de code van het uploadscript:
Ik moet erbij zeggen dat ik de scripts niet helemaal zelf geschreven heb, maar dat ik de resizefunctie ergens via google heb gevonden. Mijn kennis van GD is ook niet bepaald hoog te noemen, maar wat voor zover ik het begrijp, zou de code in theorie moeten werken.
Iemand een suggestie?
edit: maybe zijn versienummers nog belangrijk....
PHP 4.4.0
GDlib 2.0.28
Apache 1.3.33
MySQL 4.0.25
draaiend onder Win2K SP4 met alle updates
op een Intel P166 met 80MB RAM
Ook op PHP.net heb ik nog wat gezocht, zonder resultaat.
Voor een kleine fotogalerij wil ik mijn foto's met behulp van PHP in mijn MySQL database proppen.
Dit wil opzich goed lukken, maar ik wil er ook thumbnails bij hebben.
Deze worden van de originele afbeelding gemaakt dmv GDlib, maar hier gaat iets fout.
Namelijk elke keer als ik een foto upload komt de originele foto goed in de database, maar de resized versie is altijd 147bytes groot en geeft geen plaatje als ik hem probeer op te roepen.
Nergens krijg ik foutmeldingen en ik vraag me af wat er nu mis gaat.
de code van het uploadscript:
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
| <?php include('./func.inc.php'); #connect to mysql database $link = mysql_connect($db_host, $db_user, $db_pwd) or die(errorhandler(mysql_error())); mysql_select_db($db_name) or die(errorhandler(mysql_error())); cms_header("Foto Uploaden",""); if(IsSet ($_POST["filesubmit"])) { if ($_FILES['foto']['type'] == "image/jpeg") { $bestandsnaam = $_FILES['foto']['name']; $tempnaam = $_FILES['foto']['tmp_name']; $bestandsomvang = $_FILES['foto']['size']; $bestandstype = $_FILES['foto']['type']; $fopen = fopen ($tempnaam, 'r'); $inhoud = fread ($fopen, filesize ($tempnaam)); $src_image = imagecreatefromstring($inhoud); // try to create image #$inhoud = addslashes ($inhoud); fclose($fopen); if (!$src_image) { die ("Helaas. Het is niet gelukt om de foto ".$bestandsnaam." te lezen. Kies een andere foto in JPG formaat."); } $width_tnail = imagesx($src_image); $height_tnail = imagesy($src_image); $dest_width_tnail = "160"; $dest_height_tnail = "120"; $dest_img_tnail = imagecreatetruecolor($dest_width_tnail, $dest_height_tnail); $result_tnail = imagecopyresampled($dest_img_tnail, $src_image, 0, 0, 0, 0, $dest_width_tnail, $dest_height_tnail, $width_tnail, $height_tnail);// resize the image ob_start(); imageJPEG($result_tnail, '', 75); $binaryThumbnail = ob_get_contents(); ob_end_clean(); #if(!get_magic_quotes_gpc()) $bestandsnaam = addslashes ($bestandsnaam); set_time_limit (9999); $succes = mysql_query ("INSERT INTO site_fotos (name, type, content, content_thumb) VALUES ('".$bestandsnaam."', '".$bestandstype."', '".addslashes($inhoud)."', '".$binaryThumbnail."')"); if($succes == false) echo "Het uploaden van ".$bestandsnaam." is mislukt..."; else echo $bestandsnaam." is succesvol geupload naar je database..."; } else { echo "Het geselecteerde bestand is geen JPEG afbeelding.<BR>"; } } else { echo "<form method=\"POST\" enctype=\"multipart/form-data\"> <input name=\"foto\" type=\"file\"><br> <input name=\"filesubmit\" type=\"submit\" value=\"Upload\"> </form>"; } cms_footer(); #close database connection mysql_close($link); ?> |
Ik moet erbij zeggen dat ik de scripts niet helemaal zelf geschreven heb, maar dat ik de resizefunctie ergens via google heb gevonden. Mijn kennis van GD is ook niet bepaald hoog te noemen, maar wat voor zover ik het begrijp, zou de code in theorie moeten werken.
Iemand een suggestie?
edit: maybe zijn versienummers nog belangrijk....
PHP 4.4.0
GDlib 2.0.28
Apache 1.3.33
MySQL 4.0.25
draaiend onder Win2K SP4 met alle updates
op een Intel P166 met 80MB RAM
[ Voor 22% gewijzigd door McKaamos op 16-08-2005 23:01 . Reden: typo ]