Hi…
Die Fotos werden in ein separates Verzeichnis geladen und in die DB trägst Du lediglich eine Verknüpfung auf das Bild ein
Seite 1 könnte so aussehen
$html\_to\_center .=
"
" .
" " .
" " .
„“ .
" " .
„“ .
" " .
„“ .
" " .
" " .
„“ .
" " .
„Bemerkung“ .
" " .
" " .
„“ ;
######### Ausgabe
print $html_to_center;
?>
insert_picture.php dann so
#####
$picture\_upload\_dir= "../../uploaded\_pictures/";
$picture\_dir = $serverpath . "uploaded\_pictures/";
$tempname = $\_FILES['datei']['tmp\_name'];
$name = $\_FILES['datei']['name'];
$type = $\_FILES['datei']['type'];
$size = $\_FILES['datei']['size'];
$fileerror = $\_FILES['datei']['error'];
$info = getimagesize($tempname);
$breite = $info[0];
$hoehe = $info[1];
#####
if (isset ($\_POST['upload']) && $\_POST['upload'] == "eintragen"){
$date=$\_POST['date'];
// Keinen Titel eingeben
if ( $\_POST['titel'] == "Titel"){
if (!isset ($error\_msg) || $error\_msg == "" ){
$error\_msg = "Keinen Namen für die Datei angegeben!
Bitte geben Sie einen eindeutigen Titel für das Bild ein. Dateiupload abgebrochen!
";
}
else {
$error\_msg .= "Keinen Namen für die Datei angegeben!
Bitte geben Sie einen eindeutigen Titel für das Bild ein. Dateiupload abgebrochen!
";
}
$errorflag = "TRUE";
}
else{
$titel=$\_POST['titel'];
$kommentar = $\_POST['kommentar'];
if ($kommentar == "Bemerkung"){
$kommentar = "";
}
$alternate = $\_POST['alternate'];
if($alternate == "alternativer Text"){
$alternate = "";
}
$errorflag = "FALSE";
}
$kommentar=$\_POST['kommentar'];
}
else {
$error\_msg = "Keine Daten vorhanden!
";
$errorflag = "TRUE";
}
############################## Dateititel überprüfen ##############################################
$titel\_check = preg\_replace("[\s]", "\_", $titel);
if ($titel\_check == $titel){
$html\_to\_center .= "Dateititel nicht optimiert
";
}
else {
$titel = $titel\_check;
$html\_to\_center .= "Dateititel optimiert! Neuer Titel: " . $titel . "
";
}
###################################################################################################
$info = getimagesize($tempname);
$breite = $info[0];
$hoehe = $info[1];
###################################################################################################
//Bildgrösse
if($breite\>$max\_b || $hoehe\>$max\_h)
{
if(!isset($error\_msg)){
$error\_msg = "Das Bild darf maximal ".$max\_b."x".$max\_h." Pixel groß sein.
Dateiupload abgebrochen!
";
}
else{
$error\_msg .= "Das Bild darf maximal ".$max\_b."x".$max\_h." Pixel groß sein.
Dateiupload abgebrochen!
";
}
$errorflag = "TRUE";
}
####### Dateigrösse ###############################################################################
if($size \> $\_POST['MAX\_FILE\_SIZE'])
{
if(!isset($error\_msg)){
$error\_msg = "Achtung: Das Bild ist zu gross! Bitte Dateigrösse ändern auf maximal" . $MAX\_FILE\_SIZE . " Byte(s)
";
}
else{
$error\_msg .= "Achtung: Das Bild ist zu gross! Bitte Dateigrösse ändern auf maximal" . $MAX\_FILE\_SIZE . " Byte(s)
Dateiupload abgebrochen!
";
}
$errorflag = "TRUE";
}
###################################################################################################
if (!is\_dir($picture\_upload\_dir)){
if(mkdir($picture\_upload\_dir,0777)) {
$GLOBALS['picture\_upload\_dir']= $picture\_upload\_dir;
$html\_to\_center .= $picture\_upload\_dir . "wurde erfolgreich eingerichtet!
";
}
}
else{
$html\_to\_center .= "Ordner " . $picture\_upload\_dir . " bereits vorhanden
";
}
##################### Dateityp feststellen ########################################################
#jpeg oder gif?
if($type !="image/pjpeg" && $type!="image/gif" )
{
if(!isset($error\_msg)){
$error\_msg = "nur gif und jpeg Dateien dürfen hochgeladen werden.
Dateiupload abgebrochen!
";
}
else{
$error\_msg .= "nur gif und jpeg Dateien dürfen hochgeladen werden.
Dateiupload abgebrochen!
";
}
$errorflag = "TRUE";
}
if ($type == "image/pjpeg"){
$dateisuffix = ".jpg" ;
$html\_to\_center .= "Dateiendung: " . $dateisuffix . "
";
}
elseif($type == "image/gif") {
$dateisuffix = ".gif";
$html\_to\_center .= "Dateiendung: " . $dateisuffix . "
";
}
###################################################################################################
############################# Fehler beim hochladen, Fehler ermitteln ############################
if ($fileerror != 0){
if(!isset($error\_msg)){
$error\_msg = "Es liegt ein Fehler beim hochladen der Datei vor, folgender Fehler wurde ermittelt.
";
}
else{
$error\_msg .= "Es liegt ein Fehler beim hochladen der Datei vor, folgender Fehler wurde ermittelt.
";
}
switch($fileerror){
case 1:
$error\_msg .= "Die hochgeladene Datei überschreitet die von Ihrem Provider für das hochladen festgelegte Größe.
";
$errorflag = "TRUE";
break;
case 2:
$error\_msg .= "Die hochgeladene Datei überschreitet die in dem HTML Formular für das hochladen festgelegte Größe.
";
$errorflag = "TRUE";
break;
case 3:
$error\_msg .= "Die Datei wurde nur teilweise hochgeladen.
";
$errorflag = "TRUE";
break;
case 4:
$error\_msg .= "Es wurde keine Datei hochgeladen.
";
$errorflag = "TRUE";
break;
}
}
############################## Fehler ausschliessen ###############################################
if ($errorflag == "TRUE"){
//print "\n window.location = \"../picture.php?error\_msg=$error\_msg\";\n ";
print "Fehler bei der Eingabe!
Sollte Ihr Browser keine Weiterleitung unterstützen, klicken Sie bitte ";
print "[hier](%255C%2522../picture.php?error_msg=%2524error_msg%255C%2522)";
exit;
}
############################# scheint alles in Ordnung zu sein #####################################
if ($fileerror == 0){
$pic\_name = $titel.$dateisuffix;
if( file\_exists($picture\_upload\_dir . $pic\_name))
{
$pic\_name\_new = "copy\_of\_" . $titel.$dateisuffix;
$html\_to\_center .= "Datei bereits vorhanden. Datei wurde von " . $pic\_name . " in " . $pic\_name\_new . " umbenannt!
";
$pic\_name = $pic\_name\_new;
}
if (move\_uploaded\_file($tempname, $picture\_upload\_dir . $name)) {
$html\_to\_center .= $name . " erfolgreich hochgeladen.
";
}
else {
$html\_to\_center .= $name . " konnte nicht hochgeladen werden. Fehler wurden allerdings nicht entdeckt. Versuchen Sie es zu einem späteren Zeitpunkt noch einmal.";
}
if(rename($picture\_upload\_dir . $name,$picture\_upload\_dir . $pic\_name)){
$html\_to\_center .= $name . " erfolgreich in " . $pic\_name . " umbenannt.
";
}
}
###################################################################################################
$constring = @mysql\_connect($dbhost, $dbuser, $dbpass);
$anwahl = @mysql\_select\_db($dbname, $constring) or die ("Auswahl der Datenbank fehlgeschlagen
" . mysql\_error());
if ($anwahl){
$html\_to\_center .= "Datenbank geöffnet\";
}
else{
$html\_to\_center .= " **Keine Verbindung zur Datenbank!**";
}
$picture\_path = $picture\_dir . $pic\_name;
$insert\_picture\_path = @mysql\_query("INSERT INTO `$picturetable` (`Nr`, `datum`, `ort`, `kommentar`, `alternate`, `name`) VALUES ('', '$date', '$picture\_path', '$kommentar', '$alternate', '$titel')")or die ("Fehler beim eintragen des Bildes in die DB!
" . mysql\_error());
if($insert\_picture\_path){
$html\_to\_center .= "Bildverknüpfungen wurden erfolgreich in die Datenbank eingetragen.
";
}
//auf eintragen geklickt?
if(isset($\_POST['upload'])){
print $html\_to\_center;
}
else{
print "Keine Daten vorhanden!";
}
?\>
um das gleiche Bild nicht versehentlich zweimal einzutragen kann man auch noch ein
unset ($\_POST['upload']);
setzen, da der Primärschlüssel in der Regel auf dem index der Tabelle liegt.
mfg, Ron
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]