[Funktion] Keine Rechte für fopen

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • [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?
    Last edited by Mra; 05-03-2007, 14:37.
    [color=red]Meine Seite:[/color]
    American-Dad.de

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

    Comment


    • #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?
      Last edited by Mra; 05-03-2007, 14:07.
      [color=red]Meine Seite:[/color]
      American-Dad.de

      Comment


      • #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.

        Comment


        • #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
          Last edited by Mra; 05-03-2007, 14:36.
          [color=red]Meine Seite:[/color]
          American-Dad.de

          Comment


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

            Comment


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

              Comment


              • #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.

                Comment


                • #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

                  Comment


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

                    Comment

                    Working...
                    X