Dag mensen,
Ik heb een tutorial gevolgd, Waarmee je een afbeelding bestand kan uploaden naar je database als BLOB bestand. het uploaden naar de database gaat prima. Het probleem ligt bij het uitlezen van het BLOB bestand.
Er is gebruik gemaakt van 3 php pagina's:
index.php
get.php
connect.php
Als eerst index.php
bestaat uit een formulier waar je het bestand kan kiezen dat je wilt uploaden:
<?php
// connectie maken met database
include('connect.php');
error_reporting(E_ALL ^ E_NOTICE); ?>
<html>
<head>
<title>Uploaden van een afbeedling</title>
</head>
<body>
<form action="index.php" method="post" enctype="multipart/form-data">
Bestand: <input type="file" name="image" /> <input type="submit" value="Upload" />
</form>
<?php
// bestand propeties
$file = $_FILES['image']['tmp_name'];
// kies een afbeelding om te uploaden
if (!isset($file))
echo "kies een afbeelding";
// uploaden van de afbeedling naar databse
else
{
$image = addslashes(file_get_contents($_FILES['image']['tmp_name']));
$image_name = addslashes($_FILES['image']['name']);
$image_size = getimagesize($_FILES['image']['tmp_name']);
if ($image_size==FALSE)
echo "Dit bestandstype is geen afbeelding";
else
{
if (!$insert = mysql_query("INSERT INTO store VALUES ('','$image_name','$image')"))
echo "probleem met het uploaden van de afbeelding";
else
{
$lastid = mysql_insert_id();
echo "Image uploaded.<p />your image:<p /><img src=\"get.php?id=$lastiid\">";
}
}
}
?>
</body>
</html>
Pagina get.php moet dus de afbeelding pakken met het id dat is megegeven:
<?php
// id aanvragen
$id = addslashes($_REQUEST['id']);
// afbeelding pakken die gelijk is aan het id dat zojuist is geupload.
$image = mysql_query ("SELECT * FROM store WHERE id=$id");
$image = mysql_fetch_array($image);
$image = $image['image'];
header("Content-type: image/jpeg");
// laten zien van afbeelding met het id dat is gepakt!
echo $image
?>
in connect.php word de connectie met de database gemaakt.
Uploaden naar database gaat dus goed maar het uitlezen van de afbeelding lukt niet.
Gr Koen
1.576 views