File Upload mit Datenbankspeicherung

RustedFX

Grünschnabel
Hallo Leute,

folgendes Problem beschäftigt mich:

Ausschnitt aus der HTML-Datei:

HTML:
<form id="form1" enctype="multipart/form-data" action="auftrag.php" method="post">
<input type="file" id="upload" name="upload">
.

Ausschnitt aus der PHP-Datei:
PHP:
$db = mysql_connect('localhost', 'root', '**********');
if (!$db) {
    die('\r\n Verbindung nicht möglich : ' . mysql_error());
}
echo "<br>" ;
$db_selected = mysql_select_db('auftrag', $db);
if (!$db_selected) {
    die ('Kann Datenbank nicht benutzen : ' . mysql_error());
}

1.Frage:
Wie kann ich nun die hochgeladene Datei(das Bild) in meine Datenbank und in einen extra Ordner auf Server speichern.

2.Frage:
Wie kann ich die Datei(das Bild) wenn Sie in der Datenbank ist als Pfad in eine Tabelle packen und Sie dann beim anklicken des Pfades aufrufen.


Vielen Dank,
schonmal für eure Antworten


...und bitte gebt mir keine Antworten mit Selfhtml.org oder google.de, wir sind hier auf einer Tutorial Seite
 
...und bitte gebt mir keine Antworten mit Selfhtml.org oder google.de, wir sind hier auf einer Tutorial Seite

Ich finde das ganz schön frech!

Warum mehr Wörter in einem Forum schreiben, wenn dir Google die selbe Antwort mit weniger Tastenanschlägen liefert. Du musst noch nicht mal auf eine Antwort warten. Scheint ja genau das richtig für dich zu sein.

Falls du nicht auf den Link klicken möchtest, ich kopiere dir es sogar hier noch rein.

http://www.php-einfach.de/tuts_php_datei_upload.php

Datei-upload per Formular
Manchmal ist es sinnvoll, dem User zu erlauben, etwas auf den Webspace hochzuladen. Allerdings sollte so ein Script nur mit Einschrenkungen funktionieren, denn wenn der Besucher alles hochladen kann, dann kann er auch PHP Dateien hochladen, die z.B. alle anderen Dateien auf dem Server löschen. Deswegen sollte man die die Datei, die hochgeladen wird, erst überprüfen lassen, bzw. in ein anderes Format verwandeln.

Zuerst brauchen wir für unser Datei-Upload Script ein Formular, ca. so:

<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="datei"><br>
<input type="submit" value="Hochladen">
</form>

Hiermit können wir unsere Festplatte durchsuchen, und den gewünschten Dateipfad in das Feld eintragen.
Dürckt man jetzt auf "Hochladen", werden die Informationen an upload.php gesendet.

Mit move_uploaded_file laden wir jetzt die Datei hoch. Mit $_FILES, bzw. mit $HTTP_POST_FILES (falls man eine kleinere Version als 4.0.6 benutzt) können wir Informationen über die Datei sammeln.

Der Script ohne Einschränkungen

<?php
move_uploaded_file($_FILES['datei']['tmp_name'], "upload/datei.txt");
?>

Dieser Script lädt unsere Datei in das Verzeichniss upload, und nennt die Datei datei.txt.
Wichtig: Der Ordner upload muss die Schreibrechte CHMOD(777) besitzen.
Außerdem unterstützt nicht jeder Webspace Dateiuploads.

Mit folgenden Befehlen können wir Informationen über die Datei sammeln:

$_FILES['datei']['name']
Hiermit erhalten wir den Namen der Datei auf dem PC des besuchers.

$_FILES['datei']['tmp_name']
Dieser Variable enthält den Namen der Datei auf dem temporären Verzeichnis auf dem Server.

$_FILES['datei']['size']
Diese Variable enthält die Größe der Datei in Bytes.

$_FILES['datei']['type']
Diese Variable enthält den MIME-Type der Datei.
Gif-Dateien haben den Typ: image/gif
.
Man sollte aber lieber den Befehl GetImageSize() benutzen.

Script mit Einschränkungen
Mit diesem Script kann man nur Gif und jpg Dateien hochladen, die nicht größer als 100 KB sind. Dafür kann man sie später auch anschauen.

Für den Script benutzen wir wieder das Formular, das wir vorhin auch schon benutzt haben, aber der PHP-Code sieht etwas anders aus:
PHP:
<?php
$dateityp = GetImageSize($_FILES['datei']['tmp_name']);
if($dateityp[2] != 0)
   {

   if($_FILES['datei']['size'] <  102400)
      {
      move_uploaded_file($_FILES['datei']['tmp_name'], "upload/".$_FILES['datei']['name']);
      echo "Das Bild wurde Erfolgreich nach upload/".$_FILES['datei']['name']." hochgeladen";
      }

   else
      {
         echo "Das Bild darf nicht größer als 100 kb sein ";
      }

    }

else
    {
    echo "Bitte nur Bilder im Gif bzw. jpg Format hochladen";
    }
?>

Zuerst überpüfen wir, on die Datei auch eine Bild-Datei ist. Dies geht mit GetImageSize. Falls man versucht, eine andere Datei hochzuladen, enthält $dateityp[2] den Wert 0. Es gibt weitere Grafiktypen:
1 = GIF, 2 = JPG, 3 = PNG, 4 = SWF

Danach überprüfen wir, ob die Datei nicht größer als 100 kb (102400 Byte) ist. Wenn alles in Ordnung ist, wird die Datei hochgeladen.

anpassen kannst du es dir selber.


EDIT: Wegen der Datenbank geschichten ->
http://www.strassenprogrammierer.de/php-mysql-bilder_tipp_580.html
 
Zuletzt bearbeitet:
Zurück