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?
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?
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:
Nun öffnest Du das Verzeichnis perCode:$folders = array("Ordner1","Ordner2");
$dir erhält natürlich vorher den Wert von dem Verzeichnis, was Du öffnen möchtest (mozilla/firefox/profiles). Und zwar den genauen Pfad.Code:$handle = opendir($dir);
Dann liest Du das Verzeichnis in einer Schleife aus:
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:while($file = readdir($dir)) { if($file != "." AND $file != ".." AND !in_array($file,$folders) AND is_dir($file)) { $new = $file; } }
War das das, was Du wolltest?Code:closedir($handle); unset($handle); $handle = opendir($new);
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:
Funktion: get_current_user() im PHP-Manual *klick*.Code:$dir = "blabla/mozilla/firefox/profiles/".get_current_user(); $handle = opendir($dir);
EDIT 2: Du könntest auch per
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.Code:$win = strtolower(substr(PSP_OS,0,3));
Geändert von VeN0m (07.06.2009 um 22:26 Uhr)
Come to the dark side - We have cookies
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)
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 ^.^
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:
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 .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 ".$found."!"; ?>
Geändert von VeN0m (08.06.2009 um 12:59 Uhr)
Come to the dark side - We have cookies
der name ist iwo in der registry und in der profiles.ini
Joa, steht in der profiles.ini:
In der registry hab ich bisher nichts gefunden.[Profile0]
Name=default
IsRelative=1
Path=Profiles/xxxx.default