php Problem mit ../

  • PHP

  • Zero-dragon
  • 1376 Aufrufe 7 Antworten

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • php Problem mit ../

    hi @ all

    habe nur eine kurze Fraage, und zwar:
    Ich bin dabei eine Fotogalerie für eine gute Freundin zu erstellen, die dann auch auf ihr Seite kommt.
    Nun habe ich ein Upload Script reingestellt welches ein großes bild und ein Thumb auf den Server läd.
    Bei der Pfadangabe habe ich dann

    Quellcode

    1. $img_ordner="../big/portrait/";
    angegeben, nur versteht der anscheinend die Pfandangabe ../ nicht...

    Bilder Upload Script - Datei Upload

    dann wollte ich durch eine flash galerie die bilder aus diesem Ordner nehmen und dann darstellen lassen...
    Da ist aber das sele Problem

    Quellcode

    1. $path = stripslashes($_POST['../assets/']);//"songs/";//Pfadangabe des Ordners

    dass die Galerie den Ordner wegen dem ../ nicht findet

    //Forenlink entfernt

    ich hoffe so, dass ihr Rat wisst...

    LG,
    Mika
    HACK THE PLANET !!!

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Broken Sword () aus folgendem Grund: Forenlink entfernt => Regeln lesen!

  • also meine Ordnerstruktur sieht folgendermaßen aus:
    /admin/de/index.php
    ich muss dann von der index.php einmal runter auf admin/ und dann auf assets
    also:
    /admin/assets/

    vorher stand da

    $path = stripslashes($_POST['path']);//"songs/";//Pfadangabe des Ordners
    dann ahbe ich es umgeändert in
    $path = stripslashes($_POST['./assets/']);//"songs/";//Pfadangabe des Ordners
    vorher war der ordner assets im selben ordner wie die .php Datei
    ich musste es dann umändern.... so, dass assets einen Ordner vor der .php datei ist...
    HACK THE PLANET !!!
  • Die Pfadangabe "../" versteht eigentlich jedes System. Wie wird denn die Variable "$img_ordner" verwendet? Wenn natürlich irgendwo steht

    Quellcode

    1. include ($img_ordner);

    dann geht das natürlich nicht weil keine Datei angegeben sondern an Ordner im Pfad steht.
    Und beim zweiten Beispiel hast du einen Fehler beim Ändern gemacht. Im Original wird der Pfad ("path") als POST-Variable aus einen Formular übergeben. Du sagst dem Script jetzt aber, dass eine Variable mit dem Namen "../assets" übergeben wird, was nicht geschieht, denke ich mal.

    @Shadowww: "./" verweist auf den aktuellen Ordern, also in diesem Beispiel auf "/admin/de/" ;)

    mfg, Gissmo
  • $_SERVER['DOCUMENT_ROOT'] gibt den absoluten startpunkt der domain wieder...wie der name schon sagt...root ;)

    ../ und ./ sind indirekte und nicht absolute pfadangaben, die NUR in include anweisungen funktionieren, oder als kommando...

    $path = stripslashes($_POST['./assets/']); funktioniert daher nicht, weil es im array $_POST (also nach dem abschicken via POST) einfach keine variable "./assets/" gibt....

    $_POST['path'] heisst ja nicht, dass da irgendwo ein pfad eben "pfad" heisst, sondern im array $_POST steht in path eben der inhalt eines formularfeldes mit dem namen "path"

    $pfad_zu_deinen_bilder = $_SERVER['DOCUMENT_ROOT']."/admin/assets/";

    das wird aber zu 100% nicht in deinem fall funktionieren, denn

    $path = stripslashes($_POST['path']) heisst nix anderes, das vom inhalt der via POST gesendeten variable "path" die anführungszeichen (quotes) entfernt werden.

    wäre vielleicht mal sinnvoll, wenn du den gesamten code und die fehlermeldung postest.