kostenloser Webspace werbefrei: lima-city


avatar in mysql db speichern

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    o****s

    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&#246;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&#228;hlen Sie ein Bild aus, das Sie hochladen m&#246;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&#228;ndert: 25.11.2007 17:06:31 von oziris


    Beitrag ge&#228;ndert: 25.11.2007 17:07:37 von oziris


    Beitrag geändert: 25.11.2007 17:10:44 von oziris
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. <?php
    $handle = fopen (...);
    $content = fread ($handle, filesize (...));
    $content = mysql_real_escape_string ($content); // !!! Nicht so einen Quatsch, wie addslashes nutzen!
    ?>


    Au&#223;erdem solltest du das Superglobale Array $_POST nutzen und nicht $_HTTP_XY.
    F&#252;r via HTTP hochgeladene Dateien w&#228;re dass dann $_POST['_FILES'].

    MfG Lucas

    Beitrag geändert: 25.11.2007 17:38:28 von lucas9991
  4. Autor dieses Themas

    o****s

    danke f&#252;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
  5. guten abend

    f&#252;r den fileupload in php verwendet man normalerweise die autoglobale $_FILES welche ein 2 dimensionales array darstellt.
    die verwendung &#228;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&#252;sst
    easytec
  6. Kleiner Tipp f&#252;r die Fehlersuche demn&#228;chst:
    Bei so etwas einfach die Variablen mal zwischendurch ausgeben.
    Z.B. hier $_FILES['datei'] und $handle. Dann w&#252;rdest du sehen, dass $_FILES['datei'] ein Array ist.
    Dann einfach "print_r ()" nutzen und voila du solltest von selbst auf deinen Fehler sto&#223;en

    MfG Lucas
  7. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!