Ankündigung

Einklappen
Keine Ankündigung bisher.

htaccess, passwd

Einklappen

Neue Werbung 2019

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

  • htaccess, passwd

    Hallo!
    mit diesem Script versuche ich, einen Schutz einzurichten. Dabei sollen die Verzeichnisse a und b mit dem User a bzw b und dem Passwort AA und BB gesetzt werden. Ich bekomme diese Fehlermeldung: "fopen(admin_aktuell/.htaccess): failed to open stream: No such file or directory "

    Kann mir jemand auf die Sprünge helfen, da ich nicht weiter komme?

    Gruss
    Bruno

    <?
    $dirs=array(array("a" ,"a" ,"AA"),
    array("b" ,"b" ,"BB"),

    );

    foreach($dirs as $array){
    list($dir,$user,$pass)=$array;
    generate ($dir,$user,$pass);
    }

    function generate($dir,$user,$pass){

    if(!$htaccess = fopen("$dir/.htaccess", "w"))
    {echo ("<hr>puts access failed on $dir<hr>");}

    if(!fputs($htaccess,
    "AuthType Basic\n".
    "AuthName \"$user\"\n".
    "AuthUserFile $dir/.htpasswd\n".
    "require valid-user\n"))
    {echo ("<hr>puts put failed on $dir<hr>");}

    fclose($htaccess);
    $htpasswd = fopen("$dir/.htpasswd", "w");
    $password = crypt($pass);

    fputs ($htpasswd, "$user:$password\n");
    fclose ($htpasswd);
    echo"
    $dir, $user, $pass";
    }
    ?>

  • #2
    Re: htaccess, passwd

    Zitat von dh1sbg
    Ich bekomme diese Fehlermeldung: "fopen(admin_aktuell/.htaccess): failed to open stream: No such file or directory "
    Die Datei .htaccess existiert nicht im Verzeichnis admin_aktuell.

    Kommentar


    • #3
      wenn ich das richtig lese, dann sagt doch "w":Open for writing only; place the file pointer at the beginning of the file and truncate the file to zero length. If the file does not exist, attempt to create it.

      und der Fehler tritt hier auf: if(!$htaccess = fopen("$dir/.htaccess", "w"))
      Also müsste doch die Datei angelegt werden - oder?

      Bruno

      Kommentar


      • #4
        Warscheinlich existiert dann das Verzeichnis admin_aktuell bereits nicht.

        Kommentar


        • #5
          kann es sein, dass deine if-abfrage das nicht ganz korrekt ist? willst du innerhalb der if-Anfrage ne Zuweisung machen?

          ansonsten denke ich müsste es doch so funktionieren:

          PHP-Code:
          <?php
          if (!isset ($htaccess)) {
          $htaccess fopen($dir."/.htaccess""w");
          }
          ?>


          insofern dein Verzeichnis existent ist.

          Kommentar

          Lädt...
          X