Ergebnis 1 bis 8 von 8
  1. #1
    Attention-whore Avatar von n00kie
    Registriert seit
    26.02.2007
    Beiträge
    755

    Standard In Unbekanntes Verzeichnis springen?

    Wenn ich jetzt mit PHP in das Verzeichnis "mozilla/firefox/profiles/" wechsel, hab ich dort noch ein angelegtes Nutzerprofil, doch dieses hat ja immer einen unterschiedlichen Namen. Wie wechsel ich nun in dieses Verzeichnis?

  2. #2
    Kevin Lee Poulsen Avatar von VeN0m
    Registriert seit
    30.12.2008
    Beiträge
    1.270

    Standard

    Mh... Ich habe gerade wenig Zeit, um das zu prüfen. Wenn ich nicht irre liegen da noch mehr Standardordner, oder? Diese lädst Du in ein Array:

    Code:
    $folders = array("Ordner1","Ordner2");
    Nun öffnest Du das Verzeichnis per

    Code:
    $handle = opendir($dir);
    $dir erhält natürlich vorher den Wert von dem Verzeichnis, was Du öffnen möchtest (mozilla/firefox/profiles). Und zwar den genauen Pfad.
    Dann liest Du das Verzeichnis in einer Schleife aus:

    Code:
    while($file = readdir($dir)) {
    
    	if($file != "." AND $file != ".." AND !in_array($file,$folders) AND is_dir($file)) {
    
    		$new = $file;
    
    	}
    
    }
    Die If-Abfrage prüft, ob es sich bei $file um "." oder ".." handelt, was ja die Verzeichnisverweise sind. Außerdem wird geprüft, ob es ein Verzeichnis ist und, ob der Name dieses Verzeichnises _nicht_ in dem Array mit den anderen Ordnernamen vorkommt. Wenn alles zutrifft ist es das Verzeichnis, was Du suchst. Dann das alte Verzeichnis schließen und das neue öffnen:

    Code:
    closedir($handle);
    unset($handle);
    $handle = opendir($new);
    War das das, was Du wolltest?

    EDIT: Ach... Wenn ich nicht irre heißt das Verzeichnis immer, wie der angemeldete Nutzer.
    Dann geht es auch so. Ich glaube, das geht jedoch entweder nur bei Windows oder nur bei Linux... Bin ich gerade nicht sicher:

    Code:
    $dir = "blabla/mozilla/firefox/profiles/".get_current_user();
    $handle = opendir($dir);
    Funktion: get_current_user() im PHP-Manual *klick*.

    EDIT 2: Du könntest auch per

    Code:
    $win = strtolower(substr(PSP_OS,0,3));
    prüfen, ob Win oder Linux installiert ist. Im ersten Fall wäre $win = win. Einfach beide Codes in einer IF-Abfrage je nach OS ausführen... Der Verzeichnispfad wird auch je nach OS durch das Laufwerk erweitert.
    Geändert von VeN0m (07.06.2009 um 22:26 Uhr)
    Come to the dark side - We have cookies

  3. #3
    Attention-whore Avatar von n00kie
    Registriert seit
    26.02.2007
    Beiträge
    755

    Standard

    Oh, sehr hilfreich. Danke.

    EDIT: Achja, du täuschst dich. Dieses Verzeichnis hat einen Random Namen und nicht den Namen des angemeldeten Benutzers.
    Geändert von n00kie (08.06.2009 um 10:09 Uhr)

  4. #4
    Der mit Anatidaephobie Avatar von blackberry
    Registriert seit
    11.07.2008
    Beiträge
    2.350

    Standard

    In PHP5 gibt es auch die Funktion scandir.
    http://de3.php.net/scandir

    PDFTT cr3w a.E. — ReiDC0Re, lindor, Sera, berry
    please do feed the trolls crew and elk
    Ehrenwerte Mitglieder im Ruhestand: OpCodez, SFX.
    "Was sich blackberry gerade denkt" — Vorsicht! Frei laufender Wahnsinn!
    Zitat von fuckinghot19: "PS: Blackberry ist auf FH der Trollkönig ^^."
    An dieser Stelle danke ich all meinen Fans und Hatern gleichermaßen ^.^

  5. #5
    Kevin Lee Poulsen Avatar von VeN0m
    Registriert seit
    30.12.2008
    Beiträge
    1.270

    Standard

    Naja ScanDir schön und gut. Finde da nur erstmal das Verzeichnis, was Du suchst. Geht genauso gut, mit Readdir und den Bedingungen, die ich genannt habe.
    Aber mit Scandir würde es vielleicht einfacher. So in etwa:

    Code:
    <?php
    
    $dir = "/mozilla/firefox/profiles";
    $folders = array("Soll nicht vorkommen","auch nicht","eben so wenig");
    $files = scandir($dir);
    
    foreach($files AS $datei) {
    
    	if($datei != "." AND $datei != ".." AND !in_array($datei,$folders) AND is_dir($file)) {
    
    		$found = $datei;
    
    	}
    
    }
    
    print "The name of the folder you looked for is&nbsp;".$found."!";
    
    ?>
    Ob das nun komfortabler ist oder eher nicht wäre so eine Frage. Ich würde aber wohl die zweite Methode bevorzugen. Danke BlackBerry, die Funktion kannte ich noch nicht .
    Geändert von VeN0m (08.06.2009 um 12:59 Uhr)
    Come to the dark side - We have cookies

  6. #6
    Attention-whore Avatar von n00kie
    Registriert seit
    26.02.2007
    Beiträge
    755

    Standard

    Okay, werde ich heute mal ausprobieren. (:

  7. #7
    Bad Times Virus
    Registriert seit
    14.03.2009
    Beiträge
    579

    Standard

    der name ist iwo in der registry und in der profiles.ini

  8. #8
    Attention-whore Avatar von n00kie
    Registriert seit
    26.02.2007
    Beiträge
    755

    Standard

    Joa, steht in der profiles.ini:
    [Profile0]
    Name=default
    IsRelative=1
    Path=Profiles/xxxx.default
    In der registry hab ich bisher nichts gefunden.

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •