PHP5: Innerhalb Klassenmethode kein Dateisystem?

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

  • Marscel
    antwortet
    Relativ zum Browser? Was redest du denn? PHP läuft nicht im Browser!
    Ist mir schon klar, nur jemand vor mir schrieb "wo dein Skript im Browser".

    Woher hast du dein PHP denn, selbst kompiliert?
    War ein vorkompilierter Windows Snapshot, auf den irgendwo auf der php.net Seite hingewiesen wird.

    Hatten wir kürzlich schon mal. Ist ein spezifisches (Fehl-?)verhalten in Destruktoren.
    Vielen Dank, das Problem ist gelöst!

    Einen Kommentar schreiben:


  • pekka
    antwortet
    Hatten wir kürzlich schon mal. Ist ein spezifisches (Fehl-?)verhalten in Destruktoren.
    http://www.php-resource.de/forum/sho...threadid=62721

    Einen Kommentar schreiben:


  • onemorenerd
    antwortet
    Relativ zum Browser? Was redest du denn? PHP läuft nicht im Browser!
    Folgendes geht immer und sollte deiner Lösung entsprechen:
    PHP-Code:
    $dir dirname($_SERVER['PHP_SELF']).dirname($_SERVER['PHP_SELF']); 
    echo 
    $dir// zum Debuggen
    mkdir($dir.'/logging'); 
    Woher hast du dein PHP denn, selbst kompiliert?
    Zuletzt geändert von onemorenerd; 14.12.2005, 18:16.

    Einen Kommentar schreiben:


  • NilsV
    antwortet
    Guck mal, ob es dir was bringt, mit $_SERVER['PHP_SELF'] den aktuellen Pfad beim Ordner erstellen auszulesen, vielleicht auch HTTP_HOST oder DOCUMENT_ROOT. Mit PHP_SELF und HTTP_HOST könntest du dann auch absolute Dateinamen benutzen

    Einen Kommentar schreiben:


  • Marscel
    antwortet
    die grosse preisfrage is eher, _wo_ du deine klasse instanzierst bzw. wo dein skript im browser aufgerufen wird, das dann letztlich die klasse instanziert.
    In dem Ordner (F:\php\abc) ist die index.php Datei, die dann auch dort die Klasse instanziiert.

    relativ davon gesehen, wird dann auch der ordner loggin erstellt.
    Wovon denn genau relativ? Vom Browser kann es ja nicht sein, da in den Verzeichnissen keine installiert sind und vom Programm AutoHotkey (Hot-Key Überwachungs-Tool) würde ich es sehr, unwahrscheinlich halten. Und wenn du die Parameter meinst, das wäre dann http://127.0.0.1/abc/ (also real F:\php\abc).

    am besten setzt du den pfad absolut, dann is ruhe.
    Angenommen, dass das nicht möglich sein wird...
    Zuletzt geändert von Marscel; 14.12.2005, 17:16.

    Einen Kommentar schreiben:


  • beebob
    antwortet
    hi,

    die grosse preisfrage is eher, _wo_ du deine klasse instanzierst bzw. wo dein skript im browser aufgerufen wird, das dann letztlich die klasse instanziert.

    relativ davon gesehen, wird dann auch der ordner loggin erstellt.

    am besten setzt du den pfad absolut, dann is ruhe.

    Einen Kommentar schreiben:


  • Marscel
    hat ein Thema erstellt PHP5: Innerhalb Klassenmethode kein Dateisystem?.

    PHP5: Innerhalb Klassenmethode kein Dateisystem?

    Mein Skript befindet sich in F:\php\abc und sieht so aus:

    PHP-Code:
    class core
    {
            ...
        public function 
    core_debug_make($mode 0)
        {
                    ...
            switch(
    $mode)
            {
                            ...
                case 
    3:
                    
    readdir('./');
                    
    mkdir("logging"0755);
                             ...            
            }
            return 
    true;
        }    

        
        public function 
    __destruct()
        {
                    ...
            
    $this->core_debug_make(3);
                    ...
        }

    Das Problem, das laut PHP-Entwickler kein Bug sein soll, sondern irgendetwas anderes, ist dass wenn innerhalb des Objekts die Methode core_debug_make mit dem Parameter 3 aufgerufen wird, mkdir("logging") zwar funktioniert, der Ordner aber nicht in F:\php\abc landet, sondern irgendwo, ich weiß nicht wo auf sogar einer anderen Partition (ich hab Ordner schon auf D:\ gefunden)? Momentan landen sie alle gerade im Ordner des Programms AutoHotkey (?!).

    Ich hab hier PHP 5.1.2, Windows XP SP1 mit NTFS Filesystem.

    Kann man das irgendwie erklären bzw. beheben?

    Vielen Dank
Lädt...
X