Bild hochladen per Formular und dann in eine Variable schreiben
Poisonx
- php
Also ich habe das Problem das ich ein Bild einfach nicht in eine Variable schreiben kann.
Also ich habe Forumlar
<form enctype="multipart/form-data" action="einlesen.php" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="300000">
<input name="bild" type="file">
</p>
<input type="submit" name="senden" value="Senden">
</form>
Datei : einlesen.php
$bild = $_FILES['bild']['tmp_name'];
So bekomme ich aber nur die Adresse des Bildes in die Variable $bild.
Ich will aber das das komplette Bild dadrin gespeichert wird damit ich diese dann weiter verarbeiten kann.
Cu Dennis
Hallo,
$bild = $_FILES['bild']['tmp_name'];
So bekomme ich aber nur die Adresse des Bildes in die Variable $bild.
Ich will aber das das komplette Bild dadrin gespeichert wird damit ich diese dann weiter verarbeiten kann.
Vermutlich solltest Du die Datei zuerst an ihren
definitiven Standort verschieben und sie dann
dort mit den geeigneten Datei-Funktionen oeffnen.
Lies:
http://www.dclp-faq.de/q/q-formular-upload-php4.html
http://www.php.net/manual/de/ref.filesystem.php
Gruesse,
Thomas
Hello,
$bild = $_FILES['bild']['tmp_name'];
So bekomme ich aber nur die Adresse des Bildes in die Variable $bild.
Ich will aber das das komplette Bild dadrin gespeichert wird damit ich diese dann weiter verarbeiten kann.Vermutlich solltest Du die Datei zuerst an ihren
definitiven Standort verschieben und sie dann
dort mit den geeigneten Datei-Funktionen oeffnen.
Er kann sie auch direkt aus der Temp-Datei in eine Variable einlesen....
$bilddaten = file_get_contents($_FILES['bild']['tmp_name']);
und schon ist's drin.
Nur, was will Poisonx mit den Bilddatne in der Variable? Doch wohl nicht mit
header("Content-Type: img/jpeg");
echo $bilddaten;
Wieder ausgeben?
Liebe Grüße aus http://www.braunschweig.de
Tom
Hello,
$bild = $_FILES['bild']['tmp_name'];
So bekomme ich aber nur die Adresse des Bildes in die Variable $bild.
Ich will aber das das komplette Bild dadrin gespeichert wird damit ich diese dann weiter verarbeiten kann.Vermutlich solltest Du die Datei zuerst an ihren
definitiven Standort verschieben und sie dann
dort mit den geeigneten Datei-Funktionen oeffnen.Er kann sie auch direkt aus der Temp-Datei in eine Variable einlesen....
$bilddaten = file_get_contents($_FILES['bild']['tmp_name']);
So habe jetzt die Datei in der Variable.. aber wenn ich die Datei in meine Datenbank abspeichern möchte geht die ganze Anfrage nicht mehr. also er speichert gar nichts mehr in die Datenbank.. auch die anderen Variablen die ich habe werde nicht gespeichert.
$bild = file_get_contents($_FILES['bild']['tmp_name']);
$continu=1;
if ($vorname == "")
{
print("Your name is needed !<br>");
$continu=0;
}
if ($continu == 1)
{
$sql="INSERT INTO schueler (vorname, nachname, ort, telefon, handy, icq, email, homepage, betrieb, hobby, bild) VALUES ('$vorname', '$nachname', '$ort', '$telefon', '$handy', '$icq', '$email', '$homepage', '$betrieb', '$hobby', '$bild')";
mysql_query($sql);
print("Wurde erfolgreich gespeichert !") ;
}
Hallo,
So habe jetzt die Datei in der Variable.. aber wenn ich die Datei in meine Datenbank abspeichern möchte geht die ganze Anfrage nicht mehr.
<antwort modus="pavlov">
dclp-FAQ: Ist es sinnvoll, Bilder in einer Datenbank abzulegen?
http://www.dclp-faq.de/q/q-db-blob.html
</antwort>
$sql="INSERT INTO schueler (vorname, nachname, ort, telefon, handy, icq, email, homepage, betrieb, hobby, bild) VALUES ('$vorname', '$nachname', '$ort', '$telefon', '$handy', '$icq', '$email', '$homepage', '$betrieb', '$hobby', '$bild')";
mysql_query($sql);
print("Wurde erfolgreich gespeichert !") ;
}
Warum zum *%&@ laesst Du Dir die Fehlermeldung von MySQL nicht anzeigen?
else
{ print("Speichern fehlgeschlagen: " . mysql_error()); }
Und ist das Feld "bild" ueberhaupt geeignet, d.h. BLOB oder so?
Gruesse,
Thomas
Warum zum *%&@ laesst Du Dir die Fehlermeldung von MySQL nicht anzeigen?
else
{ print("Speichern fehlgeschlagen: " . mysql_error()); }Und ist das Feld "bild" ueberhaupt geeignet, d.h. BLOB oder so?
Gruesse,
Thomas
Der Fehler kam... was heisst das?
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '[binaerer Inhalt]' at line
Hallo,
You have an error in your SQL syntax.
Du hast immer noch nicht gesagt
Wenn Du dem Link zur dclp-FAQ gefolgt waerst,
haettest Du auf
http://www.dclp-faq.de/q/q-db-blob.html
den Link zum verwandten Artikel
Wie kann ich Bilder in einer MySQL-Datenbank speichern?
http://www.dclp-faq.de/q/q-mysql-blob.html
gesehen und waerst von dort aus auf
http://www.phpbuilder.com/columns/florian19991014.php3
und die Fortsetzung
http://www.phpbuilder.com/columns/florian19991014.php3?page=2
gestossen.
Gruesse,
Thomas
Hello,
Warum zum *%&@ laesst Du Dir die Fehlermeldung von MySQL nicht anzeigen?
{ print("Speichern fehlgeschlagen: " . mysql_error()); }
Und ist das Feld "bild" ueberhaupt geeignet, d.h. BLOB oder so?
Der Fehler kam... was heisst das?
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '[binaerer Inhalt]' at line
Na, der Fehler kam bei den Bilddaten.
MySQL ist eine SQL-Datenbank. Die SQL-Schnittstelle ist eine TEXTSchnittstelle. Das heißt, man darf dort nur Texte übergeben. Allerdings gibt es Ausnahmeregeln. Wenn der Text nun Zeichen enthält, die in diese Ausnahmeregel fallen, dann muss man der Schnittstelle das sagen: Achrung, hier kommt ein Zeichen, dass Du ausnahmsweise auch als Text ansehen musst.
Diese Umwandlung macht man mit mysql[_real]_escape_string().
Die Funktion markeiert (escaped) die Sonderzeichen so, dass MySQL sie annehmen kann. In der DB steht dann nur der gewünschte "Text", der ja nun in Wirklichkeit ein Bild ist. Wenn man ihn wieder rausholt, sind nur die ursprünglichen Bild-Bytes enthalten. Die Maskierung wurde nicht mit abgespeichert.
Liebe Grüße aus http://www.braunschweig.de
Tom