PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : filesize() -PHP-funktion auch ausserhalb von htdocs anwendbar?


mf_2
2003-12-22, 20:45:59
Hallo,

Ich schreibe gerade ein kleines Auswertungsprogramm für die Logfiles meines FTP-Servers. Dieser liegt in einem eigenen Ordner ( nennen wir ihn mal C:\FTP\ ).

Mein Apache-Server liegt aber in C:\wampp2\, also kann ich standardmäßig mit php nur im htdocs-Unterverzeichnis des Webserver-Ordners Aktionen durchführen.
Nun mein Problem: ich möchte die Größe div. Datein in C:\FTP\ mit filesize($dateiname) bekommen, wie komme ich aber nach C:\FTP\.Wenn ich die filezilla Funktion einfach so aufrufe bekomme ich natürlich einen Fehler, dass die Datei in htdocs nicht existiert.
Gibt es eine Möglichkeit, mit PHP über die Grenzen von htdocs rauszukommen?

Birdman
2003-12-22, 21:54:49
klar, sofern das in der PHP config (php.ini, apache config, htaccess, registry - je nachdem) so eingestellt ist, dann geht das.
Unter anderem ist hier die Funktion open_basedir entscheidend, welche dem user je nachdem Zugriff auf verschiedene Directorypfade gibt, oder aber nur auf alles unterhalb seines roots, bzw. dem Verzeichnis indem das ausführende Script abläuft. (./)

mf_2
2003-12-23, 18:18:39
Hallo,

Thx für die schnelle Hilfe.

Noch n Problem:

Ich habe einen String "/C:/verzeichnis/verzeichnis2/", diesen scheint chdir aber nicht zu akzeptieren, ist das normal oder ist das auch n einstellungsproblem? Wenn das normal ist, was stört chdir dann am string?

mf_2
2003-12-23, 19:39:46
Ich hab mittlerweile den slash am anfang des strings wegbekommen, aber dat funzt immer noch ned...

winter
2003-12-24, 12:37:31
Tach MF ;)
Du kannst chdir nicht eine absolute angabe im Fat System geben. damit kommt die Funktion nicht zurecht. du musst es Relativ machen, also


<? //aktuelles Verzeichniss: C:\\Apache2\\Htdocs\\
chdir("..");
// c:\\Apache2\
chdir("..");
// c:\\
chdir("verzeichniss");
// c:\\verzeichniss\\
chdir("verzeichniss2");
// c:\\verzeichniss\\verzeichniss2\\
?>

So hat es jedenfalls bei mir funktioniert, und wir verwenden die gleiche ServerSoftware.