[Funktion] Keine Rechte für fopen

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

  • [Funktion] Keine Rechte für fopen

    Ich habe einmal eine Funktion geschrieben, die bei Installationen sehr nützlich sein könnte.

    PHP-Code:
        function create_file($filename$text) {

        if(
    file_exists($filename)) {
            if(!@
    unlink($filename)) {
                die(
    '<p style="color:red;">Die Einstellungen der Datei \''.$filename.'\' erlauben es nicht, diese zu
    öffnen! Bitte löschen sie diese manuell via FTP.</p>'
    );
            }
        }

        if (!
    $handle fopen($filename"w")) {
            die(
    '<p style="color:red;">Die Datei \''.$filename.'\' konnte nicht geöffnet werden. Bitte
    melden Siesich an den Ersteller dieses Hacks!</p>'
    );
        }

        if (!
    fwrite($handle$text)) {
            die(
    '<p style="color:red;">Die Datei \''.$filename.'\' konnte nicht beschrieben werden. Bitte
    melden Sie sich an den Ersteller dieses Hacks!</p>'
    );
        }

        return (
    '<p style="color:green;">Die Datei \''.$filename.'\' wurde erfolgreich erzeugt.</p>');

        
    fclose($handle);
        } 
    Fehlermeldung: Warning: fopen(partners.php) [function.fopen]: failed to open stream: Permission denied in /var/www/vhosts/boston-legal-tv.de/subdomains/forum/httpdocs/partner.install.php on line 12

    Gibt es irgendwie eine Möglichkeit, wie man das doch irgendwie machen kann, dass eine Datei erstellt wird?
    Zuletzt geändert von Mra; 05.03.2007, 15:37.
    [color=red]Meine Seite:[/color]
    American-Dad.de

  • #2
    Wenn das Verzeichnis keine schreibrechte vergeben hat, nictht.

    Kommentar


    • #3
      Original geschrieben von TobiaZ
      Wenn das Verzeichnis keine schreibrechte vergeben hat, nictht.
      Gibt es irgendeine Möglichkeit, dass man die Rechte prüft oder ändert mit PHP?

      EDIT: Kann man mit PHP auch beim Erstellen der Datei die Zugriffsrechte bestimmen?
      Zuletzt geändert von Mra; 05.03.2007, 15:07.
      [color=red]Meine Seite:[/color]
      American-Dad.de

      Kommentar


      • #4
        Regeln lesen, Code umbrechen!


        http://www.php.net/manual/de/ref.filesystem.php
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          Jetzt habe ich die Funktion nun ein bisschen erweitert.

          PHP-Code:
              function create_file($filename$text) {

              if(
          file_exists($filename)) {
                  
          chmod($filename0755);
              }

              if (!
          $handle = @fopen($filename"w")) {
                  die(
          '<p style="color:red;">Die Datei \''.$filename.'\' konnte nicht geöffnet werden,
          da nicht die nötigen Zugriffsrechte per CHMOD gesetzt wurden. Bitte melden Sie sich an den Ersteller dieses Hacks!</p>'
          );
              }

              if (!@
          fwrite($handle$text)) {
                  die(
          '<p style="color:red;">Die Datei \''.$filename.'\' konnte nicht beschrieben werden,
          da nicht die nötigen Zugriffsrechte per CHMOD gesetzt wurden. Bitte melden Sie sich an den Ersteller dieses Hacks!</p>'
          );
              }

              return (
          '<p style="color:green;">Die Datei \''.$filename.'\' wurde erfolgreich erzeugt.</p>');

              
          fclose($handle);
              } 
          Nun wird folgender Fehler gezeigt:

          Warning: chmod() [function.chmod]: Operation not permitted in /var/www/vhosts/boston-legal-tv.de/subdomains/forum/httpdocs/partner.install.php on line 7
          Zuletzt geändert von Mra; 05.03.2007, 15:36.
          [color=red]Meine Seite:[/color]
          American-Dad.de

          Kommentar


          • #6
            Original geschrieben von wahsaga
            Regeln lesen, [color=red]Code umbrechen![/color]

            Kommentar


            • #7
              Original geschrieben von asp2php
              Okay, jetzt müsste es in Ordnung sein.
              [color=red]Meine Seite:[/color]
              American-Dad.de

              Kommentar


              • #8
                du hast die Datei bestimmt per FTP hochgeladen? Dann kein Wunder denn der Web-User ist ein anderer, daher hast du keine Rechte drauf.

                Kommentar


                • #9
                  Original geschrieben von asp2php
                  du hast die Datei bestimmt per FTP hochgeladen? Dann kein Wunder denn der Web-User ist ein anderer, daher hast du keine Rechte drauf.
                  Ja, das stimmt. Wie mache ich, dass man die Rechte für den Web-User umstelle. Bei mir scheint da die Funktion chmod deaktiviert zu sein. Kann man das irgendwie testen, ob die funktioniert?
                  [color=red]Meine Seite:[/color]
                  American-Dad.de

                  Kommentar


                  • #10
                    mach z.B. über sudo und cronjob

                    Kommentar

                    Lädt...
                    X