kostenloser Webspace werbefrei: lima-city


Brauche Hilfe beim Bilder hochladen

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    macromedia

    Kostenloser Webspace von macromedia

    macromedia hat kostenlosen Webspace.

    usercap_1.php
    <input type="file" name="tag/datei">datei" size="12"></p>
    <p align="center"><input type="submit" value="HochladeN" name="B1">

    usercap_1_hochladen.php
    <?php
    session_start();
    $datei = $_FILES['datei'];
    $benutzerkonto = $_SESSION["konto"];
    $mitmachen7 = "database/$benutzerkonto/foto.txt";
    $mitmachen6 = fopen("$mitmachen7","r+");
    $mitmachen5 = fread($mitmachen6, 4049);


    move_uploaded_file($_FILES["$datei"]['tmp_name'], "user/$benutzerkonto/");
    header("location: usercap_1.php?id=Erfolgreich hochgeladen $benutzerkonto [$datei]");
    ?>



    funktioniert nicht so ganz wie ich es haben möchte :S

    Beitrag zuletzt geändert: 1.2.2009 17:58:50 von macromedia
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

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

  3. Hi,

    zunächst mal solltest du die Variablen aus den Anführungszeichen nehmen...
    $mitmachen7 = "database/".$benutzerkonto."/foto.txt";
    usw.

    Dann sollten die Verzeichnisse zum Schreiben freigegeben sein, also die entsprechenden CHMOD-Rechte besitzen.

    Des Weiteren solltest du Abfangen, wenn kein Bild hochgeladen wurde bzw. welcher Dateityp hochgeladen wurde, um sicherzustellen, dass nur Bilder darüber auf deinen Webspace gelangen können und nicht womöglich auch ausführbare Dateien eingebunden werden.

    Im Übrigen fehlt auch das <form>-Tag um dein Input, in dem weitere Informationen festgelegt werden müssen.

    Und zu guter letzt wäre es ganz nett eine kleine Fehlerbeschreibung zu bekommen - was geht/was geht nicht/welche Fehlermeldung gibt es?

    Gruß
    Karlja

    Beitrag zuletzt geändert: 1.2.2009 18:19:00 von karlja
  4. Du schreibst am Anfang $datei=$_FILES['datei'], somit hast du im Array $datei (denn das ist ein Array) die verschiedenen Werte, die vorher in $_FILES standen. Später schreibst du aber move_uploaded_file($_FILES["$datei"]['tmp_name'], "user/$benutzerkonto/"); was totaler Blödsinn ist.
    Entweder du verwendest $datei['tmp_name'] oder weiterhin $_FILES['datei']['tmp_name'], aber mixen is nich. Außerdem ist dein Zeil auch falsch, denn du gibt nur den Ordner "user/$benutzerkonto/" an, aber keinen Dateinamen. 'user/'.$benutzerkonto.'/'.$datei['name'] wäre richtig.

    Mich wunderts, dass der Parser keine Fehlermeldung ausgespuckt hat?
  5. Autor dieses Themas

    macromedia

    Kostenloser Webspace von macromedia

    macromedia hat kostenlosen Webspace.

    <?php
    $bilddatei = $datei['tmp_name'];
    session_start();
    $benutzerkonto = $_SESSION["konto"];
    $mitmachen7 = "database/".$benutzerkonto."/foto.txt";
    $mitmachen6 = fopen("$mitmachen7","r+");
    $mitmachen5 = fread($mitmachen6, 4049);


    move_uploaded_file($bilddatei, "user/".$benutzerkonto."/".$mitmachen5.".jpg");
    header("location: usercap_1.php?id=Erfolgreich hochgeladen");
    ?>



    Das geht immer noch nicht?!...

    Es erscheinen keine Fehlermeldungen und so... da steht Erfolgreich hochgeladen, aber das Bild kommt einfach nicht in den Ordner...
    Außerdem möchte ich dass der Dateiname $mitmachen5 entspricht...
  6. <input type="file" name="datei" size="12"></p>


    Wenn ich das richtig verstehe gibt man mit size die maximale Anzahl der Zeichen an, die in das Feld reindürfen.
    Bist du sicher, dass die Pfadangabe auch kleiner als 12 Zeichen ist?

    //Edit: Sorry, die maximale Länge war ja maxlenght, da hab ich was vertauscht.

    Beitrag zuletzt geändert: 1.2.2009 20:05:06 von thedarkside
  7. Immernoch falsch:
    $bilddatei = $datei['tmp_name'];

    muss eher
    $bilddatei = $_FILES['datei']['tmp_name'];

    heißen.
    Es sei denn du weist $datei=$_FILES['datei']; vorher noch zu.

    Du kannst außerdem noch eine Überprüfung in der Art
    if(move_uploaded_file()===true)
    {
     // erfolg
    }else{
     // fehlschlag
    }

    einbauen, dann bekommst du mehr Rückmeldung.

    Beitrag zuletzt geändert: 1.2.2009 20:10:02 von tct
  8. Autor dieses Themas

    macromedia

    Kostenloser Webspace von macromedia

    macromedia hat kostenlosen Webspace.

    tct schrieb:
    Immernoch falsch:
    $bilddatei = $datei['tmp_name'];

    muss eher
    $bilddatei = $_FILES['datei']['tmp_name'];

    heißen.
    Es sei denn du weist $datei=$_FILES['datei']; vorher noch zu.

    Du kannst außerdem noch eine Überprüfung in der Art
    if(move_uploaded_file()===true)
    {
     // erfolg
    }else{
     // fehlschlag
    }

    einbauen, dann bekommst du mehr Rückmeldung.

    okey dankeschön,
    perfekte hilfe :)
  9. 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!