[Funktion] probleme mit mkdir()

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

  • mrhappiness
    antwortet
    kannst du nicht per ftp die zugriffsrechte ändern?
    direkt nach dem ordner erstellen ein ftp_site hinterherschießen oder so?

    Einen Kommentar schreiben:


  • Wurzel
    antwortet
    *grmpf*

    alles, was mich daran tröstet, ist die tatsache, dass ich nicht allein im
    regen stehe . muss ich mir halt was anderes einfallen lassen.

    gruss
    wurzel

    Einen Kommentar schreiben:


  • Troublegum
    antwortet
    Mit den Fehlermeldungen bei genau diesem Problem könnte ich auch Wände vollpflastern..
    Anscheinend gehört ein per mkdir() erstelltes Verzeichnis nicht dem User des Scripts sondern dem User, unter dem der Apache läuft. Und wenn der Safe Mode aktiviert ist, geht überhaupt nichts mehr.

    Eine Lösung habe ich auch nicht.

    Einen Kommentar schreiben:


  • Wurzel
    antwortet
    problem lässt sich scheinbar nur so lösen:

    PHP-Code:
    if(!is_dir($dir))
    {
    $connection ftp_connect('www.domain.tld');
    $username 'xy';
    $pass 'yz';
    $login_result ftp_login($connection,$username,$pass);

    if ((!(
    $login_result)) or (!($connection)))
    {
      
    // fehlermeldung
    }
    else
    {
    ftp_mkdir($connection,$dir);
    ftp_close($connection);
    }
    chmod($dir,0777);

    liefert auf manch einem server der chmod() den fehler
    "Operation not permitted..." obwohl script und verzeichnis
    per ftp und damit unter demselben user erstellt wurden.

    weiss jemand noch ne lösung?

    Einen Kommentar schreiben:


  • Wurzel
    antwortet
    hab noch was entdeckt:
    sobald "safe_mode" on ist, geht die sache in die hose.

    ich könnte zwar per ftp-fkts einen ordner erstellen, dann müssen
    aber auch alle weiteren aktionen per ftp-fkts laufen, da auch ein
    nachträglicher chmod() am "safe_mode" scheitert.

    womit sich die frage (mal wieder) stellt, kann mann den "safe_mode"
    für die eine operation => mkdir() abschalten/umgehen, so dass ein
    verzeichnis erstellt wird und das script später dateien lesen & schreiben
    kann, ohne dass der user sein ftp-prog bemühen muss?



    @ MaxPayne
    PHP-Code:
    $dir = new dir("./");

    if(
    is_writeable($dir->path))  // das ist nicht das problem
    {
      
    mkdir("dirpfad""0777");

    else
    {
      
    // was mach ich hier ??? ausser ner Fehlermeldung ???

    edit: achja, greif mal mitn FTP Prog auf das Verzeichnis zu wo dein Script liegt (also in dem das neue Verzeichnis erstellt werden soll) und versuch mal mit CHMOD oder so ner Option (bei cute_FTP heißts so bei Rechtsklick) die Schreibrechte dafür zu ändern.
    genau das will ich ja vermeiden

    Einen Kommentar schreiben:


  • MaxPayne
    antwortet
    dir oder deiner benutzergruppe fehlt das zugriffs - bzw. schreibrecht für den ordner, in dem du mit mkdir operierst (nich der ordner, den du erstellen willst). Lass dir mit dem folgendem Ausdruck das derzeitige Verzeichnis zurückgeben, es auf Beschreibbarkeit prüfen und wenn das der Fall is deinen neuen Ordner erstellen:

    $dir = new dir("./");

    if(is_writeable($dir->path))
    {mkdir("dirpfad", "0777");}

    edit: achja, greif mal mitn FTP Prog auf das Verzeichnis zu wo dein Script liegt (also in dem das neue Verzeichnis erstellt werden soll) und versuch mal mit CHMOD oder so ner Option (bei cute_FTP heißts so bei Rechtsklick) die Schreibrechte dafür zu ändern.

    Einen Kommentar schreiben:


  • Wurzel
    hat ein Thema erstellt [Funktion] probleme mit mkdir().

    [Funktion] probleme mit mkdir()

    hallo,
    schreibe gerade das 1.000.000.000ste gb-script, das "dau-sicher"
    sein soll. d.h. der user lädt das script per
    - ftp-client
    - oder per ftp-script (server-2-server)
    auf seinen webspace und ruft es per browser auf. soweit so gut.

    das script prüft, ob ein ordner existiert und verschiedene dateien darin
    liegen:
    PHP-Code:
    $datei "gb.txt";
    $config "config.php";
    $dir "gb";

    if(!
    is_dir($dir))
    {
     
    mkdir($dir,0777);
     
    // schreibe dateien ...
    }

    // weiter ... 
    ziel ist quasi ein autoinstall zu haben, ohne dass der user per ftp ordner
    mit rechten anlegen muss, sondern dass das script die notwendigen
    einstellungen übernimmt.

    leider gibts permanent "Permission denied in /www/htdocs/..." sobald ich
    das script im webroot laufen lasse. wie kann man soetwas bewerkstelligen?

    thx
    wurzel

    PS: ja, ich hab gesucht ... aber keine lösung gefunden
    Zuletzt geändert von Wurzel; 12.05.2003, 14:52.
Lädt...
X