[Funktion] Bild uploaden und in DB hinterlegen.

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Funktion] Bild uploaden und in DB hinterlegen.

    Hallo,

    ich habe bei mir eine Simple Uploadfunktion in eine Seite eingefügt. Nun möchte ich aber das dem Bild eine ID zugeteilt wird und der Pfad bzw Dateiname mit der ID in der DB gespeichert werden.
    Mein Uploadscript sieht wie folgt aus.

    [COLOR=red]FALSCHER CODE.... RICHTIGER CODE SIEHE UNTEN[/COLOR]

    Gibt es sowas ähnliches schon oder könntet ihr mir bei der Umsetzung helfen?

    Gruß tanzbaer
    Zuletzt geändert von Tanzbär; 11.08.2005, 13:28.
    Wer kämpft kann verlieren, wer nicht kämpft hat schon verloren.

  • #2
    Was hat der Code mit dem Problem zu tun?

    In dem Code wird nichst hochgeladen, nichts aus einer Datenbank gelsen und schon ga rnicht etwas reingeschrieben
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      Gibt es sowas ähnliches schon oder könntet ihr mir bei der Umsetzung helfen?
      ich würde sagen - beides "ja".
      wo hängt's denn?

      Kommentar


      • #4
        ups shit sorry hab ausversehen den falschen code hingeschriben tut mir leid hier der richtige

        PHP-Code:
        <?php
        $tempname 
        $_FILES['file']['tmp_name'];
        $name $_FILES['file']['name'];
        $type $_FILES['file']['type'];
        $size $_FILES['file']['size'];

        if(
        $type != "image/gif" && $type != "image/jpeg") {
            
        $err[] = "nur gif und jpeg Dateien dürfen hochgeladen werden.";
        }
        if(
        $size "15000") {
            
        $err[] = "Die Datei welche du hochladen willst, ist zu gross!<br>Maximale Dateigrosse beträgt 15 KB!";
        }
        if(empty(
        $err)) {
            
        copy("$tempname""../uploads/$name");
            echo 
        "Die Datei $name wurde erfolgreich hochgeladen!";
        }
        else {
            foreach(
        $err as $error)
            echo 
        "$error<br>";
        }
        ?>
        tut mir sehr leid... mein fehler
        Wer kämpft kann verlieren, wer nicht kämpft hat schon verloren.

        Kommentar


        • #5
          Du solltest move_uploaded_file() verwenden.

          http://de3.php.net/manual/de/functio...oaded-file.php

          Und dein Dateiname steht doch in "../uploads/$name" - je nachdem ob du vom root ausgehen willst oder relativ bleiben willst musst du den Pfad eben noch bearbeiten...

          Kommentar


          • #6
            Ich möchte das er beim UPloaden der Datei eine Id zuweißt und dann die datei mit der id noch in der datenbank hinterlegt.
            Also, wenn ich eine Datei uploade wird ein neuer eintrag in meiner datenbank angelegt wo steht zb id: 1 name: smilie.gif oder so.
            Gruß Tanzbaer
            Wer kämpft kann verlieren, wer nicht kämpft hat schon verloren.

            Kommentar


            • #7
              Dann mache mit INSERT einen Eintrag in der DB und mit mysql_insert_id kannst du die ID auslesen
              Ich denke, also bin ich. - Einige sind trotzdem...

              Kommentar


              • #8
                mist er schriebt jetzt zwar eine id bei jedem upload in die datenbank ber keine dateinamen dazu.
                hier mal der code

                PHP-Code:
                <?php
                include ("checkuser.php");
                include (
                "../mysql.inc.php");
                ?>
                <?php
                function daten_schreiben($file$linkID$select)
                {

                //SQL-Anfrage erstellen
                $sql="INSERT INTO upload (file) VALUES ('$file')";

                $resID=mysql_query($sql);
                if (!
                $resID) die ("Fehler beim einfügen in die DB #003 ".mysql_error());
                    else
                       echo 
                "Datei $file wurde erfolgreich in die Datenbank geschrieben.";

                //Datenbankverbindung beenden
                mysql_close($linkID);
                }
                ?>
                <html>
                <head>
                  <title>Admin Control Panel</title>
                  <link rel="stylesheet" type="text/css" href="style.css">
                </head>
                <body>
                <b><font color="A8FF00"><a href="intern.php">Modul</a> » Datei Upload</font></b><br><br>
                <form enctype="multipart/form-data" action="admin_upload.php" method="post">
                <input type="file" name="file"><br>
                <input type="submit" value="Hochladen" name="op">
                </form>

                <?php
                $tempname 
                $_FILES['file']['tmp_name'];
                $name $_FILES['file']['name'];
                $type $_FILES['file']['type'];
                $size $_FILES['file']['size'];

                if(
                $type != "image/gif" && $type != "image/jpeg") {
                    
                $err[] = "Nur *.jpeg oder *.gif hochladen.";
                }
                if(
                $size "200000") {
                    
                $err[] = "Die Datei welche du hochladen willst, ist zu gross!<br>Maximale Dateigrosse beträgt 200 KB!";
                }
                if(empty(
                $err)) {
                    
                copy("$tempname""../uploads/$name");
                    echo 
                "Die Datei $name wurde erfolgreich hochgeladen!";
                }
                else {
                    foreach(
                $err as $error)
                    echo 
                "$error<br>";
                }
                ?>
                <br><br>
                <b><font color="A8FF00">Dateien</font></b><br>
                <?php
                //Dateien Auslesen
                $handle=opendir('../uploads/');
                while (
                $file readdir ($handle)) {
                   if (
                $file != "." && $file != "..") {
                       echo 
                "$file";
                       echo 
                " <a href=\"../uploads/".$file."\" target=\"_blank\">Datei ansehen</a> <br>\n";
                   }
                }
                closedir($handle);
                //Hauptprogarmm
                switch ($op) {
                    case 
                "Hochladen"daten_schreiben($id$file$linkID$select); break;
                    default;
                }
                ?>
                Zuletzt geändert von Tanzbär; 11.08.2005, 14:40.
                Wer kämpft kann verlieren, wer nicht kämpft hat schon verloren.

                Kommentar


                • #9
                  keine ahnung, debuggen musst du schon selbst.

                  aber was auffällt:
                  aufruf:
                  PHP-Code:
                  daten_schreiben($id$file$linkID$select); 
                  deklaration:
                  PHP-Code:
                  function daten_schreiben($file$linkID$select
                  sag bloß, du nutzst E_ALL?

                  Kommentar


                  • #10
                    ja komischer weiße schriebt er ja die id aber halt net dsa file...
                    Wer kämpft kann verlieren, wer nicht kämpft hat schon verloren.

                    Kommentar


                    • #11
                      daran ist nichts komisch.
                      lies mein post nochmal durch.

                      Kommentar


                      • #12
                        ja hab jetzt mal mit e_all gemacht

                        PHP-Code:
                        NoticeUndefined variableop in /www/htdocs/w0057376/admin/admin_upload.php on line 68 
                        das ist die zeile wo die übergabe in die switch schleife gemacht wird.

                        nur den fehler finde ich net
                        Wer kämpft kann verlieren, wer nicht kämpft hat schon verloren.

                        Kommentar


                        • #13
                          informiere dich bei gelegenheit über "register globals".

                          aber das wird nicht der einzige fehler sein - der funktionaufruf ist nach wie vor falsch.

                          Kommentar

                          Lädt...
                          X