will einen binärupload für Grafiken machen.
Da bin ich auch schon weiter. Nun aber folgendes Problem zu lösen:
- in die Grafik soll ein wasserzeichen eingebetet werden
- die datei soll als thumbnail erstellt und ubenfalls in dei datenbank.
kann mir einer da helfen?
################ Code binärupload (geht allein) ###########
<?php
$dbcnx = @mysql_connect('v091008.dd2108.kasserver.com', 'v091008', '69ceb5o2');
if (!$dbcnx) {
exit('<p>Verbindungsaufbau zum Datenbankserver ' .
' zurzeit nicht möglich.</p>');
}
if (!@mysql_select_db('jokes')) {
exit('<p>Auswahl der Datenbank' .
'zurzeit nicht möglich.</p>');
}
if (isset($_GET['action'])) {
$action = $_GET['action'];
} else {
$action = '';
}
if (($action == 'view' or $action == 'dnld') and
isset($_GET['id'])) {
$id = $_GET['id'];
// Benutzer ruft eine Datei ab
$sql = "SELECT filename, mimetype, filedata
FROM filestore WHERE id = '$id'";
$result = @mysql_query($sql);
if (!$result) {
exit('Datenbankfehler: ' . mysql_error());
}
$file = mysql_fetch_array($result);
if (!$file) {
exit('Datei mit dieser ID nicht in der Datenbank gefunden!');
}
$filename = $file['filename'];
$mimetype = $file['mimetype'];
$filedata = $file['filedata'];
$disposition = 'inline';
if ($action == 'dnld') {
$disposition = 'attachment';
if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE 5') or
strpos($_SERVER['HTTP_USER_AGENT'], 'Opera 7')) {
$mimetype = 'application/x-download';
}
}
header("content-disposition: $disposition; filename=$filename");
header("content-type: $mimetype");
header('content-length: ' . strlen($filedata));
echo $filedata;
exit();
} elseif ($action == 'del' and isset($_GET['id'])) {
$id = $_GET['id'];
// Benutzer löscht eine Datei
$sql = "DELETE FROM filestore WHERE id = '$id'";
$ok = @mysql_query($sql);
if (!$ok) {
exit('Datenbankfehler: ' . mysql_error());
}
header('location: ' . $_SERVER['PHP_SELF']);
exit();
} elseif (isset($_FILES['upload'])) {
// Ausschließen, dass eine Datei kein Upload ist.
if (!is_uploaded_file($_FILES['upload']['tmp_name'])) {
exit('Es wurde keine Datei hochgeladen!');
}
$uploadfile = $_FILES['upload']['tmp_name'];
$uploadname = $_FILES['upload']['name'];
$uploadtype = $_FILES['upload']['type'];
$uploaddesc = $_POST['desc'];
// Datei zum binären Einlesen öffnen ("rb")
$tempfile = fopen($uploadfile, 'rb');
// Gesamte Datei in den Arbeitsspeicher einlesen,
// wobei die PHP-Funktion filesize benutzt wird,
// um die Dateigröße zu ermitteln.
$filedata = fread($tempfile, filesize($uploadfile));
// Einfügen in die Datenbank vorbereiten, indem
// vor Sonderzeichen Backslashes gesetzt werden.
$filedata = addslashes($filedata);
// SQL-Anfrage formulieren.
$sql = "INSERT INTO filestore SET
filename = '$uploadname',
mimetype = '$uploadtype',
description = '$uploaddesc',
filedata = '$filedata'";
// Einfügen durchführen.
$ok = @mysql_query($sql);
if (!$ok) {
exit('Datenbankfehler beim Einfügen der Datei: ' . mysql_error());
}
header('location: ' . $_SERVER['PHP_SELF']);
exit();
}
// Vorgabemäßige Seite: Gespeicherte Dateien anzeigen
$sql = 'SELECT id, filename, mimetype, description
FROM filestore';
$filelist = @mysql_query($sql);
if (!$filelist) {
exit('Datenbankfehler: ' . mysql_error());
}
?>
<!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">
<head>
<title>PHP/MySQL Dateimagazin</title>
<meta http-equiv="content-type"
content="text/html; charset=iso-8859-1" />
</head>
<body>
<h1>PHP/MySQL Dateimagazin</h1>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>"
method="post" enctype="multipart/form-data">
<p><label>Datei hochladen:<br />
<input type="file" name="upload" /></label></p>
<p><label>Dateibeschreibung:<br />
<input type="text" name="desc" maxlength="255" /></label></p>
<p><input type="submit" value="Hochladen" /></p>
</form>
<p>Folgende Dateien sind in der Datenbank gespeichert::</p>
<table>
<tr>
<th>Dateiname</th>
<th>Typ</th>
<th>Beschreibung</th>
</tr>
<?php
if (mysql_num_rows($filelist) > 0) {
while ($f = mysql_fetch_array($filelist)) {
?>
<tr valign="top">
<td>
<a href="<?php echo $_SERVER['PHP_SELF'];
?>?action=view&id=<?php echo $f['id']; ?>">
<?php echo $f['filename']; ?></a>
</td>
<td><?php echo $f['mimetype']; ?></td>
<td><?php echo $f['description']; ?></td>
<td>
[<a href="<?php echo $_SERVER['PHP_SELF'];
?>?action=dnld&id=<?php echo $f['id']; ?>"
>Download</a> |
<a href="<?php echo $_SERVER['PHP_SELF'];
?>?action=del&id=<?php echo $f['id']; ?>"
onclick="return confirm('Diese Datei löschen??');"
>Löschen</a>]
</td>
</tr>
<?php
}
} else {
?>
<tr><td colspan="3">Keine Dateien!</td></tr>
<?php
}
?>
</table>
</body>
</html>
################ Code wasserzeichen einbetten ###########
$Bild = "/www/htdocs/w00/bilder/galerie/".$zeileholen["pfad"]."/normal/".$zeileholen1["datei"];
$Grafik = ImageCreateFromJPEG($Bild);
$Wasserzeichen = ImageCreateFromPNG("wasserzeichen.png");
ImageCopy($Grafik, $Wasserzeichen, imagesx($Grafik)-imagesx($Wasserzeichen), imagesy($Grafik)-imagesy($Wasserzeichen), 0, 0, imagesx($Wasserzeichen), imagesy($Wasserzeichen));
imagejpeg($Grafik,$Bild);