Announcement

Collapse
No announcement yet.

Dateien übergeben und in MySql speichern

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Dateien übergeben und in MySql speichern

    Hallo an alle.

    Ich möchte gern Bild - Dateien in eine MySql Datenbank übergeben.
    Hiermit bereite ich das ganze vor

    echo "<input type='file' name='form_data' size='40'>";

    $handle = fopen ($_FILES["form_data"], "r");
    $contents = fread ($handle, filesize ($db_image_data));
    fclose ($handle);

    Ich bekomme jedoch eine Fehlermeldung:

    Warning: fopen() expects parameter 1 to be string, array given in C:\xampp\htdocs\Image_to_MySQL\send.php on line 33

    Was genau mache ich hier gerade falsch?

    Danke im Voraus

  • #2
    $_FILES[NameDesUploads] ist ein assoziatives Array - in der Doku findest Du alle weiterfürhenden Informationen dazu.

    Comment


    • #3
      Wenn ich das richtig verstehe muss ich doch im Post den Link der Datei übergeben, nur wie ich das mache verstehe ich nicht

      Comment


      • #4
        http://www.google.de/search?sourceid...0&q=php+upload
        Christian

        Comment


        • #5
          Originally posted by Christian Marquardt View Post


          Danke das funktioniert, wenn Du nun noch einen Link hast zum auslesen wäre das super =)

          Comment


          • #6
            ?? Warum besorgst du dir diesen Link nicht selbst??
            Christian

            Comment


            • #7
              Originally posted by Christian Marquardt View Post
              ?? Warum besorgst du dir diesen Link nicht selbst??
              Ich brauche nichts weiter als einen Tip nicht ne anleitung.
              Ich bekomme momentan einen String aus der Datenbank, wie setze ich das als Datei zusammen??

              Comment


              • #8
                Was ist hier bitte schön der Fehler. Da ich noch Anfänger bin rege ich mich richtig auf


                <?php

                $db_server = 'localhost';
                $db_user = 'root';
                $db_passwort = '';
                $db_name = 'binary_data';
                //2. Verbindung zum Server herstellen
                $verbindung = mysql_connect($db_server,$db_user,$db_passwort);
                //3. Abfrage, ob Verbindung moeglich mit ! wird die Abfrage negiert
                if (!$verbindung)
                die("Der Server kann nicht erreicht werden,");
                if (!mysql_select_db($db_name, $verbindung))
                die ('Die Datenbank kann nicht aufgerufen werden.');

                $db_blob = mysql_query (" SELECT binary_data.description, binary_data.filename, binary_data.image_data, binary_data.filesize, binary_data.filetype
                FROM binary_data
                WHERE id_image='14'");


                $data = @MYSQL_RESULT($db_blob,0,"image_data");
                $type = @MYSQL_RESULT($db_blob,0,"filetype");
                $size = @MYSQL_RESULT($db_blob,0,"filesize");
                $name = @MYSQL_RESULT($db_blob,0,"filename");
                $desc = @MYSQL_RESULT($db_blob,0,"description");

                echo $type;
                echo $size;
                echo $name;
                echo $desc;

                header("Content-type: $type");
                header("Content-length: $size");
                header("Content-Disposition: attachment; filename=$name");
                eader("Content-Description: $desc");
                echo $data;

                ?>

                Comment


                • #9
                  Tja, ich rege mich über solche Fragen auf:

                  X- Zeilen Quellcode werden einem hingeknallt,
                  gerade noch ein Hinweis "es ist ein Fehler da"
                  nicht etwa eine Beschreibung, was nicht geht,
                  nicht etwa die Fehlermeldung sofern vorhanden
                  nicht etwa die Zeile in der der Fehler auftritt
                  nicht etwa ein Beschreibung was das Programm machen soll

                  "Geht nicht" ist kein Fehler!


                  Natürlich kann man jetzt erraten (warum muss man das erraten?), dass du ein Download machen willst. Und in Bezug auf die Beiträge 5,6,7 stellt es sich für mich so dar, dass du einfach keine Lust hast zwei Stichwörter in google einzugeben

                  In deinem Fall würde ich sagen, dass

                  eader("Content-Description: $desc");

                  dort der Fehler liegt.

                  Zuletzt editiert von Christian Marquardt; 03.03.2009, 07:43.
                  Christian

                  Comment


                  • #10
                    Originally posted by Christian Marquardt View Post
                    Tja, ich rege mich über solche Fragen auf:

                    X- Zeilen Quellcode werden einem hingeknallt,
                    gerade noch ein Hinweis "es ist ein Fehler da"
                    nicht etwa eine Beschreibung, was nicht geht,
                    nicht etwa die Fehlermeldung sofern vorhanden
                    nicht etwa die Zeile in der der Fehler auftritt
                    nicht etwa ein Beschreibung was das Programm machen soll

                    "Geht nicht" ist kein Fehler!


                    Natürlich kann man jetzt erraten (warum muss man das erraten?), dass du ein Download machen willst. Und in Bezug auf die Beiträge 5,6,7 stellt es sich für mich so dar, dass du einfach keine Lust hast zwei Stichwörter in google einzugeben

                    In deinem Fall würde ich sagen, dass

                    eader("Content-Description: $desc");

                    dort der Fehler liegt.
                    Also Du bist echt mal ein Knaller. Wenn Du keine Lust hast, dann brauchst Du auch nicht antworten, anstatt so ne Sch... zu schreiben.
                    Es ist ersichtlich was ich machen will, da ich es vorher schon beschrieben habe.

                    Sei so freundlich und antworte sachlich. Ich würde es tun, wenn ich mehr erfahrung hätte

                    Comment


                    • #11
                      Sehe keine Sch....

                      Wo siehst du diese?

                      Also wenn das NICHT der Fehler war, bleibt nur festzuhalten du kannst nicht mal Copy & Paste?
                      Man soll also deinen Code noch nach Kopierfehlern analysieren?
                      Christian

                      Comment


                      • #12
                        Originally posted by Christian Marquardt View Post
                        Sehe keine Sch....

                        Wo siehst du diese?

                        Also wenn das NICHT der Fehler war, bleibt nur festzuhalten du kannst nicht mal Copy & Paste?
                        Man soll also deinen Code noch nach Kopierfehlern analysieren?
                        Also der Code war nicht falsch sondern ich habe einen Fehler gemacht, den ich in der kürze der Zeit nicht hätte erlesen können. Klar das "h" hat gefehlt jedoch war etwas anderes falsch. Dieser Code gehört in eine extra Datei ohne HTML.
                        Eine zweite PHP Seite mit einem Verweis auf IMG SRC zeigt dann das ganze an.

                        Also hier noch mal meine Lösung

                        ladeimage.php

                        //2. Verbindung zum Server herstellen
                        $verbindung = mysql_connect($db_server,$db_user,$db_passwort);
                        //3. Abfrage, ob Verbindung moeglich mit ! wird die Abfrage negiert
                        if (!$verbindung)
                        die("Der Server kann nicht erreicht werden,");
                        if (!mysql_select_db($db_name, $verbindung))
                        die ('Die Datenbank kann nicht aufgerufen werden.');
                        $db_blob = mysql_query (" SELECT binary_data.description, binary_data.filename, binary_data.image_data, binary_data.filesize, binary_data.filetype
                        FROM binary_data
                        WHERE id_image='14'");
                        $data = @MYSQL_RESULT($db_blob,0,"image_data");
                        $type = @MYSQL_RESULT($db_blob,0,"filetype");
                        $size = @MYSQL_RESULT($db_blob,0,"filesize");
                        $name = @MYSQL_RESULT($db_blob,0,"filename");
                        $desc = @MYSQL_RESULT($db_blob,0,"description");
                        header("Content-type: $type");
                        header("Content-length: $size");
                        header("Content-Description: $desc");
                        echo $data;
                        ?>

                        Zweite PHP

                        anzeigen.php

                        <!--
                        To change this template, choose Tools | Templates
                        and open the template in the editor.
                        -->
                        <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
                        <html>
                        <head>
                        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
                        <title></title>
                        </head>
                        <body>
                        <img src='ladeimage.php'>

                        </body>
                        </html>


                        Soweit meine Lösung, ich werde noch versuchen das auf eine PHP Datei zu beschrenken, aber da habe ich gerade keine Zeit

                        Gruß
                        Daniel

                        Comment

                        Working...
                        X