open_basedir restriction in effect

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • open_basedir restriction in effect

    Hallo,

    mit der folgenden Funktion möchte ich eine Datei, die über <input name="kartendatei" type="file" /> an das Skript übergeben wurde, auf dem Webserver als Zip-Datei speichern.

    PHP-Code:
    function setzeDatei() {
    // Ist eine Karte mitgeschickt worden?
    if (($_FILES["kartendatei"]["size"] > 0) && ($_FILES["kartendatei"]["size"] < 1024*1024)) {
        
    preg_match("/(\.\w+)$/",$_FILES["kartendatei"]["name"],$match);
        
    $typ $match[1];
        
    // wir erlauben nur Endungen von Kartendateien
        
    if (in_array(strtolower($typ),array(".lev"))) {
        
    $this->kartendatei $this->ID.".zip";
        
    $dateipfad preg_replace("/\/[^\/]+$/","",$_SERVER["SCRIPT_FILENAME"])."/";
        
    $zipname=$dateipfad.$this->kartendatei;
        
    $zipfile = new zipfile($zipname);
        
    $zipfile->addFile(file_get_contents($_FILES["kartendatei"]["tmp_name"]),
        
    $_FILES["kartendatei"]["name"]);
        if ( 
    $res = @fopen($zipname"ab") ) {
        
    fwrite($res$zipfile->file());
        
    fclose($res);
        }
        }
      }

    Auf meinem lokalen Webserver klappt das einwandfrei, doch auf dem gratis Webspace passiert folgendes:

    In der Zip-Datei ist nun die Datei vorhanden, aber ohne deren Inhalt.
    Außerdem bekomme ich folgende Fehlermeldungen:

    Warning: file_get_contents(): open_basedir restriction in effect. File(/tmp/phpGnCWQ8) is not within the allowed path(s): (/cdcv2/www/Lupus42) BLUB: in /cdcv2/www/Lupus42/html/KartenKlassen.phpi on line 400
    Warning: file_get_contents(/tmp/phpGnCWQ8): failed to open stream: Operation not permitted in /cdcv2/www/Lupus42/html/KartenKlassen.phpi on line 400s

    Es tut mir Leid, wenn es ein sehr einfaches Problem ist, aber ich bin noch Anfänger...
    Vielen Dank schon mal für eure Mühe!

    Gruß, Lupus42

  • #2
    schau dir das mal an

    gruß
    peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Kommentar


    • #3
      Re: open_basedir restriction in effect

      Original geschrieben von Lupus42
      Es tut mir Leid, wenn es ein sehr einfaches Problem ist, aber ich bin noch Anfänger...
      Und englisch kannst Du auch nicht (sehr gute Voraussetzungen)... die Fehlermeldung ist doch eindeutig ... !!
      carpe noctem

      [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
      [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

      Kommentar


      • #4
        RE: open_basedir restriction in effect

        Hallo,

        vielen Dank für den Link und die schnelle Antwort!

        Also hat der Provider anscheinend aus Sicherheitsgründen ein open_basedir angegeben, das ich dementsprechend nicht ändern kann.

        Was ich dem Link nicht entnehmen konnte:

        Wie kann ich das Skript ändern, so dass Dateien dennoch hochgeladen werden können?
        Oder ist dies überhaupt nicht möglich, wenn ein open_basedir angegeben wurde?

        Gruß, Lupus42

        Kommentar


        • #5
          RE:

          Hallo,

          ich habe mittlerweile eine Antwort bekommen.

          Für andere, die das gleiche Problem haben wie ich, poste ich es hier:

          PHP-Code:
          bool move_uploaded_file(string filenamestring destination
          Verschiebt eine upgeloadete Datei an einen neuen Ort
          die Datei erst in ein anderes Verzeichnis verschieben und dann zippen...
          Gruß, Lupus42

          Kommentar

          Lädt...
          X