Het probleem is als volgt:
Ik upload een image van de harde schijf door gebruik te maken van een file-veld. Nothing fancy so far. Ik heb in phpmyadmin al wat plaatje geupload en dit worden prima weergegeven door het volgende script:
standaard dreamweaver bijna, maar kan wel voor dit project.
als ik zelf een image upload in de database met deze code:
geeft het eerdergenoemde script in firefox "De afbeelding "etc." kan niet worden weergegeven, omdat deze fouten bevat" en komt er geen plaatje in beeld. IE geeft gewoon het bekende kruis voor een ontbrekend plaatje.
In de errorlogs is niets van een fout terug te vinden en ook php errors blijven uit. Eventuele hulp word erg gewaardeerd.
Ik upload een image van de harde schijf door gebruik te maken van een file-veld. Nothing fancy so far. Ik heb in phpmyadmin al wat plaatje geupload en dit worden prima weergegeven door het volgende script:
PHP: showImg.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
| <?php require_once('Connections/localhost.php'); ?> <?php if (!function_exists("GetSQLValueString")) { function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") { if (PHP_VERSION < 6) { $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue; } $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue); switch ($theType) { case "text": $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL"; break; case "long": case "int": $theValue = ($theValue != "") ? intval($theValue) : "NULL"; break; case "double": $theValue = ($theValue != "") ? doubleval($theValue) : "NULL"; break; case "date": $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL"; break; case "defined": $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue; break; } return $theValue; } } $colname_getImage = "-1"; if (isset($_GET['id'])) { $colname_getImage = $_GET['id']; } mysql_select_db($database_localhost, $localhost); $query_getImage = sprintf("SELECT media_id, media_image, media_mimetype FROM media WHERE media_id = %s", GetSQLValueString($colname_getImage, "int")); $getImage = mysql_query($query_getImage, $localhost) or die(mysql_error()); $row_getImage = mysql_fetch_assoc($getImage); $totalRows_getImage = mysql_num_rows($getImage); header('Content-type: ' . $row_getImage['media_mimetype']); echo $row_getImage['media_image']; mysql_free_result($getImage); ?> |
standaard dreamweaver bijna, maar kan wel voor dit project.
als ik zelf een image upload in de database met deze code:
PHP: addMedia.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "addMedia")) { $mimetype = $_FILES['image']['type']; $image = file_get_contents($_FILES['image']['tmp_name']); $insertSQL = sprintf("INSERT INTO media (media_title, media_content, media_date, media_bron, media_image, media_mimetype) VALUES (%s, %s, %s, %s, %s, %s)", GetSQLValueString($_POST['title'], "text"), GetSQLValueString($_POST['content'], "text"), GetSQLValueString($_POST['date'], "date"), GetSQLValueString($_POST['bron'], "text"), GetSQLValueString($image, "text"), GetSQLValueString($mimetype, "text")); mysql_select_db($database_localhost, $localhost); $Result1 = mysql_query($insertSQL, $localhost) or die(mysql_error()); } |
geeft het eerdergenoemde script in firefox "De afbeelding "etc." kan niet worden weergegeven, omdat deze fouten bevat" en komt er geen plaatje in beeld. IE geeft gewoon het bekende kruis voor een ontbrekend plaatje.
In de errorlogs is niets van een fout terug te vinden en ook php errors blijven uit. Eventuele hulp word erg gewaardeerd.
[ Voor 7% gewijzigd door ErwinPeters op 17-08-2011 20:51 ]