Shortman77: Bild über PHP in eine SQL datenbank einlesen!

Hallo!
Vielleicht kann mir jemand helfen..
Ich versuche ein Bild über PHP in eine SQL-Datenbank zubekommen.
Aber er gibt mir folgenden Fehler den ich nicht so ganz verstehe:

Warning: fopen("", "r") - No error in C:\Programme\Apache Group\Apache2\htdocs\upload.php on line 24

Warning: fread(): supplied argument is not a valid File-Handle resource in C:\Programme\Apache Group\Apache2\htdocs\upload.php on line 24

Der Quelltext sieht so aus:

<?
mysql_connect("localhost","","");
mysql_select_db("richter");
$modul = '';
if (isset($_POST['modul'])) {
  $modul = $_POST['modul'];
}

$datei = '';
if (isset($_POST['datei'])) {
  $datei = $_POST['datei'];
}

if($modul ==1)
{
print "<html><head><title>Bild in eine mysql Datenbank einspeisen mit PHP</title></head>
<body>";
$bild=addslashes(fread(fopen($datei, "r"), filesize($datei)));
$Name=$HTTP_POST_FILES['datei']['name'];
mysql_query("insert into bilderli(Name,bild) values ('$Name','$bild')");
$zahl= mysql_insert_id();
echo "Der Name des Files ist ".$HTTP_POST_FILES['datei']['name']."<br>";
echo "Der Grösse des Files ist ".$HTTP_POST_FILES['datei']['size']."<br>";
echo "Der File ist vom Typ: ".$HTTP_POST_FILES['datei']['type']."<br>";
echo "Der Name des Files ist ".$HTTP_POST_FILES['datei']['name']."<br>";
$dateiname=$HTTP_POST_FILES['datei']['name'];
echo "Der File wurde upgeloaded. Die Nummer des Bildes ist $zahl";
print "</body></html>";
}

if($modul ==2)
{
$zeiger=mysql_query("select bild from bilderli where Ident=$nummer");
$ergebnis=mysql_fetch_array($zeiger);
print $ergebnis['bild'];
}

if($modul ==3)
{
$zeiger=mysql_query("select bild from bilderli where Ident=$nummer");
while($ergebnis=mysql_fetch_array($zeiger))
{
print $ergebnis['bild'];
}
}
mysql_close();
?>

Was mache ich bloß falsch? :((

Grüße

Shortman

  1. Hallo

    hier sind ein paar Links in die FAQ. Schlage dort doch bitte das nächste mal
    erst selbst nach.

    Warning: fopen("", "r") - No error in C:\Programme\Apache Group\Apache2\htdocs\upload.php on line 24

    28.24. Warning: fopen() - No error
    http://www.dclp-faq.de/q/q-fehler-no-error.html

    Warning: fread(): supplied argument is not a valid File-Handle resource in C:\Programme\Apache Group\Apache2\htdocs\upload.php on line 24

    28.2. Warning: Supplied argument is not a valid File-Handle resource
    http://www.dclp-faq.de/q/q-fehler-file-handle.html

    Zudem habe ich keine Ahnung, was Zeile 24 ist. Mache Zeilen immer kenntlich.

    BTW:
    16.3. Ist es sinnvoll, Bilder in einer Datenbank abzulegen?
    http://www.dclp-faq.de/q/q-db-blob.html
    17.8. Wie kann ich Bilder in einer MySQL-Datenbank speichern?
    http://www.dclp-faq.de/q/q-mysql-blob.html

    Grüße
      David

    --
    >>Nobody will ever need more than 640k RAM!<<
    1981 Bill Gates
    1. Hallo David,
      Dazu muß er diese FAQ`s erst einmal kennen.
      An seinem Progstil ist zu erkennen, dass er KEIN Profi ist!
      Ich finde Deine Reaktion in diesem Fall überzogen und unnötig.
      Ich darf da nur auf:
      http://forum.de.selfhtml.org/faq/#Q-09e
      verweisen.

      TomIRL

      1. Hallo TomIRL,

        Ich misch mich mal rotzfrech ein, auch auf die Gefahr hin, mich unbeliebt zu machen.

        Ich finde Deine Reaktion in diesem Fall überzogen und unnötig.

        Ich finde nur den ersten Satz nicht so furchtbar nett, ansonsten ist die Antwort in meinen Augen mehr als hilfreich, da die dclp nicht nur Lösung sondern auch Begründung bietet und gerade für einen offensichtlichen PHP-Anfänger eine lohnenswerte Anlaufstelle ist.

        Nichts für ungut, ich wollte nur exakt die gleichen Links posten, als ich Davids Antwort gesehen hab.

        Gruss, Thoralf

        --
        Sic Luceat Lux!
        1. Hallo TomIRL,

          Ich misch mich mal rotzfrech ein, auch auf die Gefahr hin, mich unbeliebt zu machen.

          Unbeliebt nicht.
          Aber scheibar bist du ein wenig streitsüchtig.

          ICh darf dann doch mal aus den FAQ`s zitieren:
          "Umgekehrt wird es aber auch von Teilnehmern, die auf diese Weise einen Rüffel für ihr Posting erhalten, schnell als oberlehrerhaft und beleidigend empfunden, wenn sie allzu grob "fertig gemacht" werden. Gerade neue Teilnehmer können ja auch noch nicht wissen, ob der Rüffel von einem erfahrenen Forumsteilnehmer kommt, das in der Lage ist zu formulieren, was die Mehrheit denkt, oder ob er von einem anderen, kaum weniger kritikwürdig auftretenden Teilnehmer kommt."

          Und ich denke auch wenn David Recht hat, gehört Shortman77 nicht unbedingt zu den Leuten die hier immer posten.
          Deshalb hatte ich hier auf die Faq`s verwiesen.
          Und ein bischen unhöflich war Davids Posting schon, wenn auch hilfreich.

          Viele grüße TomIRl

          1. Hallo TomIRL,

            Ich misch mich mal rotzfrech ein, auch auf die Gefahr hin, mich unbeliebt zu machen.
            Unbeliebt nicht.
            Aber scheibar bist du ein wenig streitsüchtig.

            Nuja, den Eindruck wollte ich vermeiden.

            ICh darf dann doch mal aus den FAQ`s zitieren:

            Genau darum geht es mir. Ich hab das vor langer Zeit schonmal angemault </archiv/2000_1/t10715.htm#a54043>. Mich stört hier immer wieder, dass mittlerweile wieder ein guter Teil der Forenhauptseite mit solchen nutzlosen Tonfalldiskussionen gefüllt sind. Und gerade Dein Beispiel war nun m.E. völlig okay. Zumal ja eben auch eine Antwort und Lösungshinweise kamen.

            Und ein bischen unhöflich war Davids Posting schon, wenn auch hilfreich.

            Richtig, aber es lohnt nicht, daraus jedes Mal wieder eine Diskussion zu machen. Und wenn es den Neuling stören sollte, dann kann er doch die Klappe aufmachen. Mich stört nur dieses immer und immer wieder auftretende Massregeln untereinander. Deswegen hab ich auch schon direkt davon gesprochen, dass ich Deinen Eindruck nicht teile. Werten wollte und will ich Deine Antwort nicht, zumal das eh nicht gegen Dich persönlich ging. :)

            Und nein, soll nicht wieder eine Diskussion lostreten. ;) Von meiner Warte ist das Thema damit auch durch, weil ich eigentlich nur meinen Eindruck vermitteln wollte, dass dieses Beispiel gerade nicht so furchtbar FAQ-feindlich war. ;)

            Gruss, Thoralf

            --
            Sic Luceat Lux!
          2. Hallo TomIRL,

            Ich misch mich mal rotzfrech ein, auch auf die Gefahr hin, mich unbeliebt zu machen.
            Unbeliebt nicht.
            Aber scheibar bist du ein wenig streitsüchtig.

            Bis man sauer macht braucht es da noch etwas mehr...:)))

            Und ich denke auch wenn David Recht hat, gehört Shortman77 nicht unbedingt zu den Leuten die hier immer posten.

            Das ist richtig habe hier zum 1. Mal was gepostest. Ich gestehe: Ich programiere noch nicht lange...muss auch noch viel lernen.
            Ich bin gerade dabei eine Datenbank zu erstellen und versuche halt grad eine gute Methode herauszufinden wie ich die Daten am besrten abspeichere ohne all zu großen Aufwand zu betreiben.

            Ich möchte mich für eure Hilfe bedanken!

            Grüße

            Shortman

  2. hi,

    Ich versuche ein Bild über PHP in eine SQL-Datenbank zubekommen.

    schon diesen ansatz würde ich nochmal überdenken.

    grosse binäre daten in der DB abzulegen, zieht die performance deutlich nach unten. hierfür ist das dateisystem einfach die bessere technik.

    bessere lösung: bilder im dateisystem ablegen, pfad/dateinamen in die datenbank.

    gruss,
    wahsaga