Mailinglisten-Archive |
Hallo miteinander!
Gut, daß man in Köln Sonntags nicht einkaufen kann. So kann man
sich mit kleinen PHP-Problemchen vergnügen.
Mein Problemchen ist folgendes: Ich habe auf einem Webserver
(Linux/ Apache 1.3.4/ PHP 3.0.5 CGI) ein zugriffsbeschränktes
Admin-Verzeichnis mit allerlei File-Manipulationsschnickschnack
angelegt. Bevor man jedoch Dateien oder Verzeichnisse zur
Bearbeitung, Löschung, Umbenennung etc. auswählt, sollte man
diese in einer ausführlichen Liste angezeigt bekommen (so eine
Art "ls -l").
Hier mein Code:
<schnipp>
?>
<table>
<tr><th>Typ</th><th>Name</th>
<th>Größe</th><th>Besitzer</th>
<th>Gruppe</th><th>Rechte</th>
<th>letze Änderung</th></tr>
<?
if (!$path) {
$path = $DOCUMENT_ROOT;
}
// $path kann später über Query-String
// überschrieben werden
$handle = opendir($path);
while ($file = readdir($handle)) {
?>
<tr>
<td><input type="radio" name="filename"
value="<? echo $file ?>"></td>
<td><? echo filetype($file) ?></td>
<td><b><? echo $file ?></b></td>
<td><? echo filesize($file) ?> Bytes</td>
<td><? echo fileowner($file) ?></td>
<td><? echo filegroup($file) ?></td>
<td><? echo fileperms($file) ?></td>
<td><? echo date("d.m.y H:i:s", filemtime($file)) ?></td>
</tr>
<?
}
closedir($handle);
?>
</table>
</schnipp>
Der Code funktionierte auch in dem Verzeichnis, in dem das
Script selbst liegt, einwandfrei. In anderen Verzeichnissen
bekomme ich jedoch scheinbar willkürlich den Effekt, daß ab
bestimmten Dateien oder Verzeichnissen keine Werte wie
filetype($file) etc mehr abgerufen werden können. Die Ausgabe
ist dann für diese Files/Dirs leer (alleine $file wird noch
ausgespuckt). Beispiel:
<schnipp>
Typ Name Größe Besitzer Gruppe Rechte letze
Änderung
dir . 1024 Bytes 1323 600 16837
15.08.99 15:42:10
dir .. 1024 Bytes 1323 600 16837
15.08.99 15:57:30
cgi-bin Bytes
01.01.70 01:00:00
data Bytes
01.01.70 01:00:00
ftp Bytes
01.01.70 01:00:00
logs Bytes
01.01.70 01:00:00
file info.php3 173 Bytes 1323 600 33156
15.08.99 12:59:43
</schnipp>
Für mich ist leider überhaupt kein Grund für dieses (scheinbar)
undeterminierte Verhalten zu erkennen. Kann es vielleicht sein,
daß dem Script zum Abfragen der Attribute mancher Dateien bzw.
Verzeichnisse die Rechte fehlen?
Ich wäre Euch für Eure Hilfe echt dankbar. Wenn übrigens jemand
Interesse an dem fertigen Script hat, bin ich gerne bereit, es
zu veröffentlichen. Wie bereits erwähnt, es handelt sich um
einen Web-basierten Filemanager und -editor.
Danke!
Marian
php::bar PHP Wiki - Listenarchive