ich sitze seit Tagen an einem Problem.
Ziel: Speichern von Dateien in einer mysql-Datenbank
Bisheriges Ergebnis: Dateien bis zu einer bestimmten Größe lassen sich Problemlos in der Datenbank speichern. Ab einer gewissen Größe (über 1MB ?) erfolgt keine Speicherung.
Folgende Einstellungen in der php.ini :
file_uploads = On
upload_max_filesize = 32M
post_max_size = 32M
hier der Code dazu
- Code: Select all
<?php
$Benutzername = "admin";
$Passwort = "test";
if($_SERVER['PHP_AUTH_USER'] == $Benutzername && $_SERVER['PHP_AUTH_PW'] == $Passwort)
{
?>
<html>
<head>
<title>Binärdaten in einer MySQL-Tabelle speichern</title>
</head>
<body bgcolor="white" text="#000000" link="red" vlink="gray" alink="#FE8B5A" background="nth_theme_business_classic_speedy_bg.gif">
<?php
$datum = date("j.n.Y");
$DatabaseHost = "localhost";
$DatabaseUser = "root";
$DatabasePassword = "sunshine";
$Database = "test";
if($_REQUEST['Send'])
{
$DatabasePointer=mysql_connect($DatabaseHost, $DatabaseUser, $DatabasePassword);
mysql_select_db($Database, $DatabasePointer);
if(isset($_FILES['Datei']['name']) && $_FILES['Datei']['name']!="none")
{
$Daten = addslashes(fread(fopen($_FILES['Datei']['tmp_name'], "rb"), filesize($_FILES['Datei']['tmp_name'])));
$SQL = "INSERT INTO hinweise ";
$SQL .= "(Dateiname, Dateigroesse, Dateityp, bezeichnung, datum ) VALUES ";
$SQL .= "('".$_FILES['Datei']['name']."', '".$_FILES['Datei']['size']."', '".$_FILES['Datei']['type']."', '".$Daten."', '".$datum."', '".$_POST['text']."')";
mysql_query($SQL, $DatabasePointer);
if(mysql_affected_rows($DatabasePointer)==1)
{
?>
<table border="0">
<tr>
<td width="1231">
<p align="center"><font face="Verdana" size="3"><?php
echo"Die Datei "",
$_FILES['Datei']['name'],
"" wurde in die Tabelle eingefügt.";
$id = mysql_insert_id();
echo $id?><input type="hidden" name = "id" value="<?php echo $id;?>"> </font></p>
</td>
</tr>
</table>
<form action ="hochladen_speichern.php" method="post">
<p><input type="hidden" name = "id" value="<?php echo $id;?>">
</p>
</form>
<form method="post" action="hochladen_speichern.php">
<p><input type="hidden" name = "id" value="<?php echo $id;?>"> </p>
<p> </p>
<p> </p>
</form>
<form action ="hochladen_speichern.php" method="post">
<p align="center"><input type="submit" name="formbutton1" value="Zusätzliche Angaben erfassen"><input type="hidden" name = "id" value="<?php echo $id;?>">
</form>
<p align="center"> </p>
<p>
<?php
}
else
{
echo"Die Datei "",
$_FILES['Datei']['name'],
"" konnte nicht in die Tabelle eingefügt werden.";
}
}
else
{
echo"Bitte gehen Sie <a href=\"javascript:history.back();\">zurück</a> und geben Sie eine Datei zum Speichern in der Tabelle an.";
}
}
else
{
?>
</p>
<p> </p>
<p align="center"><font face="Verdana"> Hinweise erfassen</font></p>
<p align="center"><font face="Verdana"> </font></p>
<form action="<?php echo$_SERVER['PHP_SELF']; ?>" enctype="multipart/form-data" method="post">
<p align="center"><font face="Tahoma" size="2">Datei laden:</font> <input name="Datei" type="file"><br>
<p align="center"><textarea name="text" rows="5" cols="80"></textarea><br><br>
<input name="Send" type="submit" value="Speichern"></form>
<?php
}
?>
<?php
}
else
{
header("WWW-Authenticate: Basic realm=\"Zugang Handbuch Systemverwalter\"");
header("HTTP/1.0 401 Unauthorized");
echo"Diese Webseite ist zugriffsgeschützt.";
}
?>
</body>
</html>
Woran kann dies liegen. Ich möchte jedoch hier keine Diskussion über den Sinn oder Unsinn des Speicherns von Dateien in einer Datenbank führen, sondern wäre über jede Hilfe dankbar.