avatar in mysql db speichern
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
argument
array
bild
code
datei
dateiname
fehlersuche
file
folgende fehlermeldung
forum
host
http
kleiner tipp
not
nutzen
quatsch
schnelle antwort
typ
type
verwendung
-
Hallo allerseits,
ich bastel momentan an meinem eigenen Forum und möchte nun den Usern die Möglichkeit bieten ihren eigenen Avatar hochzuladen. Leider komme ich momentan nicht weiter und bitte deshalb um Hilfe:
avatar.php:(wird included)
___________________________________________________________________
<?php if($submit) { $db_link = mysql_connect($host,$user,$pw); mysql_select_db($db, $db_link); $bild=addslashes(fread(fopen($datei, "r"), filesize($datei))); $Name=$HTTP_POST_FILES['datei']['name']; mysql_query("insert into member where usern='".mysql_escape_string($usern)."' (avatar) values ('$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>"; $dateiname=$HTTP_POST_FILES['datei']['name']; echo "Der File wurde upgeloaded. "; } else { echo " <h3>Avatar:</h3><br> <form action=$PHP_SELF?page=account&avatar=1 enctype=multipart/form-data method=post> <input type=hidden name=modul value=1> Wählen Sie ein Bild aus, das Sie hochladen möchten.<br> <input type=file name=datei size=40> <input type=submit name=submit value=hochladen> </form> "; } ?>
___________________________________________________________________
ich bekomme folgende Fehlermeldung:
Warning: fread(): supplied argument is not a valid stream resource in /var/davuser/davdir/abi09gl/abi09gl_11/public_html/Forum/content/avatar.php on line 9
mfg Oziris
Beitrag geändert: 25.11.2007 17:06:31 von oziris
Beitrag geändert: 25.11.2007 17:07:37 von oziris
Beitrag geändert: 25.11.2007 17:10:44 von oziris -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
<?php $handle = fopen (...); $content = fread ($handle, filesize (...)); $content = mysql_real_escape_string ($content); // !!! Nicht so einen Quatsch, wie addslashes nutzen! ?>
Außerdem solltest du das Superglobale Array $_POST nutzen und nicht $_HTTP_XY.
Für via HTTP hochgeladene Dateien wäre dass dann $_POST['_FILES'].
MfG Lucas
Beitrag geändert: 25.11.2007 17:38:28 von lucas9991 -
danke für die schnelle Antwort.
bin trotzdem noch net weitergekommen ;)
aktualisierter code:
<?php if($submit) { $datei = $_POST['datei']; $db_link = mysql_connect($host,$user,$pw); mysql_select_db($db, $db_link); $handle = fopen ($datei, "r"); $content = fread ($handle, filesize ($datei)); $content = mysql_real_escape_string ($content);
Fehlermeldung:
"Warning: fread(): supplied argument is not a valid stream resource in /var/davuser/davdir/abi09gl/abi09gl_11/public_html/Forum/content/avatar.php on line 10"
woran liegt das?
mfg oziris -
guten abend
für den fileupload in php verwendet man normalerweise die autoglobale $_FILES welche ein 2 dimensionales array darstellt.
die verwendung ähnelt der von $HTTP_POST_FILES:
$dateiName = $_FILES['datei']['name']; $dateiMime = $_FILES['datei']['type']; $dateiSize = $_FILES['datei']['size']; $dateiTmpName = $_FILES['datei']['tmp_name']; $dateiError = $_FILES['datei']['error'];
freundlich grüsst
easytec -
Kleiner Tipp für die Fehlersuche demnächst:
Bei so etwas einfach die Variablen mal zwischendurch ausgeben.
Z.B. hier $_FILES['datei'] und $handle. Dann würdest du sehen, dass $_FILES['datei'] ein Array ist.
Dann einfach "print_r ()" nutzen und voila du solltest von selbst auf deinen Fehler stoßen
MfG Lucas -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage