Hallo, ich bräuchte leider Hilfe. Ich habe im Internet ein Script gefunden, welches ich umgeändert habe um Bilder in die Datenbank einzulesen und auszulesen. Jedoch klappt nur das Einlesen
in die Datenbank aber nicht das auslesen kann mir jemand dabei helfen.
Erst einmal werde ich die im Internet gefundene Datei hin kopieren und
dann das abgeänderte von mir. Leider muss ich dazu sagen ich bin totale Anfängerin und brauch es für ein Projekt im Studium. Ich sitze seit einigen Tagen dran und komme nicht voran Ich hoffe es kann mir jemand dabei helfen. Danke.
die Datei index.php an, die für das Hochladen und Anzeigen der Bilder verantwortlich ist :
<?php
// MySQL-Verbindung herstellen
require 'connect.php';
// Formular abgeschickt
if(isset($_FILES['image'])) {
// Datei hochgeladen
if(is_uploaded_file($_FILES['image']['tmp_name'])) {
// Verweis auf Bild
$image = $_FILES['image']['tmp_name'];
// Vorbereiten für den Upload in DB
$data = addslashes(file_get_contents($image));
// Metadaten auslesen
$meta = getimagesize($image);
$mime = $meta['mime'];
// Bild in DB speichern
mysql_query("INSERT INTO images VALUES('', '$data', '$mime')");
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<title>MySQL-Bilder-Datenbank</title>
</head>
<body>
<h1>Bild hochladen</h1>
<form action="" method="post" enctype="multipart/form-data">
<input name="image" type="file" />
<input type="submit" value="hochladen" />
</form>
<h1>Bilderliste</h1>
<?php
$result = mysql_query("SELECT id FROM images");
while($row = mysql_fetch_object($result)) {
echo '<img alt="" src="image.php?id='.$row->id.'" /><br />';
}
?>
</body>
</html>
Alles anzeigen
image.php benötigt, die sich um das Auslesen der Bilder aus der Datenbank kümmert:
<?php
// MySQL-Verbindung herstellen
require 'connect.php';
// Bild ausgeben
$id = addslashes($_GET['id']);
$result = mysql_query("SELECT image, mimetype FROM images WHERE id='$id'");
$row = mysql_fetch_object($result);
header("Content-type: $row->mimetype");
echo $row->image;
?>
Alles anzeigen
Jetzt das veränderte von mir ich hoffe ich hab nicht alzuviel falsch gemacht.
die Datei index.php an, die für das Hochladen und Anzeigen der Bilder verantwortlich ist :
<?php
// Formular abgeschickt
if(isset($_FILES['image'])) {
// Datei hochgeladen
if(is_uploaded_file($_FILES['image']['tmp_name'])) {
// Verweis auf Bild
$image = $_FILES['image']['tmp_name'];
// Vorbereiten für den Upload in DB
$data = addslashes(file_get_contents($image));
// Metadaten auslesen
$meta = getimagesize($image);
$mime = $meta['mime'];
// Bild in DB speichern
$statement=$pdo->prepare("INSERT INTO imagedb VALUES('', '$data', '$mime')");
$result = $statement->execute();
//$result = $statement->execute(array('id' => $id,'image' => $data, 'mime' => $mimetype));
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<title>MySQL-Bilder-Datenbank</title>
</head>
<body>
<h1>Bild hochladen</h1>
<form action="" method="post" enctype="multipart/form-data">
<input name="image" type="file" />
<input type="submit" value="hochladen" />
</form>
<h1>Bilderliste</h1>
<?php
$statement = $pdo->prepare("SELECT id FROM imagedb");
while($row = $statement->fetch(PDO::FETCH_OBJ)) {
echo '<img alt="" src="Test2.php?id='.$row->id.'" /><br />';
}
?>
Alles anzeigen
die Datei Test2.php benötigt, die sich um das Auslesen der Bilder aus der Datenbank kümmert: