Ergebnis 1 bis 6 von 6

Thema: Upload-Fehler

  1. #1
    Youngster
    Registriert seit
    27.04.2007
    Beiträge
    18
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard Upload-Fehler

    Hi!
    Ich habe folgendes Problem:
    Ich habe mithilfe von PHP und eines Formulars ein Uploadscript gebastelt:
    Code:
    <form method="post" enctype="multipart/form-data" action="<?php echo $PHP_SELF; php?>">
     <input type="hidden" name="MAX_FILE_SIZE" value="400000">
     
    Datei-Upload
    
    
     <input name="userfile" type="file" size=20>
    
    
     <input type="submit" name="action" value="Upload">
    </form>
    Und hier das Script, dass ausgeführt wird, wenn eine Datei hochgeladen wurde:
    Code:
    $time=time&#40;&#41;;
    $file = $HTTP_POST_FILES&#91;'userfile'&#93;&#91;'name'&#93;;
    $temp = $HTTP_POST_FILES&#91;'userfile'&#93;&#91;'tmp_name'&#93;;
    $path_parts = pathinfo&#40;$file&#41;;
    $filename = "file_" . $time . "." . $path_parts&#91;"extension"&#93;;
    copy&#40;$temp, '/useruploads/'.$filename&#41;;
    Auf meinem lokalen Apache-Server funktioniert das prima, doch wenn ich das auf dem externen Server laufen lasse gib's 'nen Fehler:
    Code:
    Warning&#58; copy&#40;&#41;&#58; open_basedir restriction in effect. File&#40;/tmp/phpPsQbiG&#41; is not within the allowed path&#40;s&#41;&#58; &#40;/home/httpd/webs/-Benutzername-&#41; in ...
    Das heißt wohl soviel wie: "Du darfst nicht auf den Temp-Ordner dieses Servers zugreifen, in dem deine hochgeladene Datei liegt, weil das außerhalb deines eigenen Bereichs liegt!" (Falls die Datei überhaupt hochgeladen wurde...)

    Gibt es eine möglichkeit das zu umgehen?
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    Shogun Avatar von DarkSyranus
    Registriert seit
    28.03.2006
    Ort
    ::1/128
    Alter
    26
    Beiträge
    3.446
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings
    Blog-Einträge
    1

    Standard

    Code:
    copy&#40;$temp, 'useruploads/'.$filename&#41;;
    Du solltest jedoch move_uploaded_file() benutzen, das ist wesentlich kompfortabler und einfacher.

  3. #3
    Youngster
    Themenstarter

    Registriert seit
    27.04.2007
    Beiträge
    18
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    OK, habs geändert. Dadurch hat sich die Fehlermeldung etwas verändert:
    Code:
    Warning&#58; move_uploaded_file&#40;&#41;&#58; SAFE MODE Restriction in effect. The script whose uid is 568 is not allowed to access / owned by uid 0 in ...
    EDIT:
    Hab grad das hier gefunden:
    Code:
        Anmerkung&#58; Wenn Safe Mode aktiviert ist, überprüft PHP, ob die Dateien/Verzeichnisse die mit dem Skript bearbeitet werden sollen, die gleiche UID &#40;Eigentümer&#41; haben wie das Skript selbst.
    
        Anmerkung&#58; move_uploaded_file&#40;&#41; ist von den normalen Safe Mode UID-Einschränkungen nicht betroffen. Dies ist nicht unsicher, da move_uploaded_file&#40;&#41; nur mit via PHP hochgeladenen Dateien arbeitet.
    Was bedeutet das?

  4. #4
    Shogun Avatar von DarkSyranus
    Registriert seit
    28.03.2006
    Ort
    ::1/128
    Alter
    26
    Beiträge
    3.446
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings
    Blog-Einträge
    1

    Standard

    Welche werte hast du der Funktion übergeben?
    Es scheint so, als würdest du auf den root Ordner des Servers zugreifen wollen (Linux Verzeichnisstränge sind ein wenig anders als die der Windose ).

    Beispiel:
    ('ordner/datei.xyz')
    Läuft unter Windows.
    Läuft unter linux.

    ('/ordner/datei.xyz')
    Könnte unter Windows laufen (weis ich grad nicht genau).
    Läuft unter Linux definitiv nicht so, wie man es gerne hätte

    Falls du also ein / am Anfang des Pfades hast, entferne den mal.

  5. #5
    Youngster
    Themenstarter

    Registriert seit
    27.04.2007
    Beiträge
    18
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    JAAAAAAAAAAAA!
    Das war es!!
    Digges dankeschön!

    Edit:
    Hab ich das also richtig verstanden? Der Server erlaubt es eigentlich nicht, dass ich Dateien außerhalb meines bereiches kopiere, aber wenn ich sie mit move_uploaded_file verschiebe sieht er ein, dass das MEINE ist?

  6. #6
    Shogun Avatar von DarkSyranus
    Registriert seit
    28.03.2006
    Ort
    ::1/128
    Alter
    26
    Beiträge
    3.446
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings
    Blog-Einträge
    1

    Standard

    Jup.
    Datei die hochgeladen wurden, sind erstmal in einem temporären Ordner.
    Daraus kann man sie nicht mit copy() holen, mit move_uploaded_file() jedoch schon.
    Das etwas wie /ordner nicht geht hängt mit dem Dateisystem unter Linux zusammen, womit ich jetzt hier jedoch keinen langweilen will

Ähnliche Themen

  1. Fehler beim avatar upload im forum
    Von Khostrider im Forum HTML & CSS Forum
    Antworten: 5
    Letzter Beitrag: 24.02.2008, 16:54
  2. Fehler bei Upload-script
    Von zim im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 5
    Letzter Beitrag: 07.05.2007, 13:58
  3. upload script hat nen fehler
    Von im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 4
    Letzter Beitrag: 09.09.2006, 14:54
  4. Fehler in FF und Fehler beim zentrieren
    Von smello im Forum HTML & CSS Forum
    Antworten: 1
    Letzter Beitrag: 16.03.2006, 14:22
  5. FTP-Upload >>>Fehler!<<<
    Von yngvar im Forum Computer - Internet Forum
    Antworten: 6
    Letzter Beitrag: 04.10.2005, 21:45

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •