Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Ordner auslesen [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Ordner auslesen


 
ginod
27-02-2004, 14:32 
 
Hi !

Also ich würde gerne mittels eines PHP Befehls einen Ordner auslesen z.B. man gibt an http://adresse/derordner/

Dann soll er alle befindlichen Dateien in diesem Ordner auslesen und die Dateipfade mir ausgeben, diese Dateipfade also wo die Datei liegt auf welcher Adresse soll er dann in einer Datenbank speichern vielleicht auch noch andere Informationen der Datei, Größe, Name, Beschreibung etc.

gibt es so was ??
wie heißt der Befehl ?? wonach sollte ich am besten suchen ??

 
Abraxax
27-02-2004, 14:34 
 
lokale ordner kannst du mit readdir() auslesen.

externe ordner gar nicht. (ausser mit ftp natürlich)

 
ginod
27-02-2004, 14:38 
 
ne also ich wollte schon das er alle Dateien aus einem Ordner auf einem Server ausliest, weil die Dateien die, die User auf ihrer Festplatte haben, wo die liegen, interessiert mich herzlich wenig, da man dann ja eh nicht drauf zugreifen kann.
Ich könnte zwar sagen, gebt jeden Pfad per hand einzelnt ein, aber ich möchten den Usern in bissle das erleichtern

 
peterz
27-02-2004, 14:46 
 
probiers mal damit


$_root = $HTTP_SERVER_VARS['DOCUMENT_ROOT'];
$lib='/demoordner/';

$d = dir($_root.$lib);
while (false !== ($entry = $d->read())) {
echo $entry;
}
$d->close();

 
brüllwürfel
27-02-2004, 14:46 
 
pack das Ergebniss von readdir() in ein Array und lege eine foreach schleife an, die dann die Dateien des Ordner-Arrays mit Hilfe von html methoden der DArstellung (z.B.Select, Option - Menüs) auflistet... Dann hast du immer ein Selector an der Hand über den du die Dateien im Ordner erreichst und der auch jede Änderungen in dem Ordner registriert (nach neuaufruf des Scripts- der Seite)

 
Abraxax
27-02-2004, 14:48 
 
die User auf ihrer Festplatte haben, wo die liegen, interessiert mich herzlich wenig, da man dann ja eh nicht drauf zugreifen kann. schon klar. lokal heisst aber nicht remote beim user. sondern lokal auf dem lokalem rechner (server).


ne also ich wollte schon das er alle Dateien aus einem Ordner auf einem Server ausliest auf dem eigenen? -> readdir()

auf einem remote server? -> geht nur via ftp.

 
ginod
27-02-2004, 16:08 
 
Original geschrieben von peterz
probiers mal damit


$_root = $HTTP_SERVER_VARS['DOCUMENT_ROOT'];
$lib='/demoordner/';

$d = dir($_root.$lib);
while (false !== ($entry = $d->read())) {
echo $entry;
}
$d->close();



also habe das gemacht habe einen http://www.adresse.de/meinordner/ in $lip eingesetzt. da sagt er

Warning: OpenDir: No such file or directory (errno 2) in /home/www/web29/html/filesharing/directlisting.php on line 14

Fatal error: Call to a member function on a non-object in /home/www/web29/html/filesharing/directlisting.php on line 15

also kann er irgendwie nicht öffnen ist der Befehl zum auslesen von ORdnern auf externen Servern ??


Also wenn ich es jetzt richtig verstanden habe gibt es keine Möglichkeit irgendwie extern von einer Adresse z.B. www.adresse.de/ordner/ da die Dateien auszulesen und die Pfade in ner Datenbank dann zu speichern oder was ?? und wie meint ihr das Via FTP ??? wie würde das aussehen?

 
peterz
27-02-2004, 16:18 
 
extern: ftp

local:
das sieht doch schon ganz gut aus
also du musst nur noch deinen ordner anlegen und ein paar sachen reinmachen dann gehts

 
ginod
27-02-2004, 16:22 
 
ja aber wie gesagt nützt mir local sehr wenig weil ich nicht die Dateipfade brauche die User auf ihrer fEstplatte haben (bzw. die auf meinem SErver local liegen) sondern Pfade die jetzt in einem Ordner auf irgend einem Server liegen, die soll der da alle schön auslesen und die pfad URl also wo die Datei im World wide Web liegt doch bitte in die Datenbank einfügen, da dass ja irgendwie nicht geht. weiß ja nicht warum, weil wirklich in Sicherheitsproblem wäre das ja nicht.
Gibts ja nur noch die Möglichkeit über FTP .
Allerdings weiß ich nicht was ihr über FTP meint, wie mache ich das über FTP ?? brauche ich da dann die Daten des SErvers also der HP und muss mich dan mit einem FTP Befehl einloggen und dann kann ich erst die DAteien rausholen oder was ??? mhmm.... ok.. wäre zwar etwas blöd trotzdem würde ich gerne mal erfahren wie das geht. kann mir jemand Infos geben

 
peterz
27-02-2004, 16:26 
 
ich würd mir eine klasse bei
http://phpclasses.byting.at suchen die das für mich erledigt

Bsp:http://phpclasses.byting.at/browse/package/1244.html

 
ginod
27-02-2004, 16:31 
 
hää, raff ich nicht mit den klassen egal, es geht hier ja auch weniger für mich sondern um User die jetzt irgendwo einen Ordner auf ihrem SErver online haben wo was weiß ich 100 Dateien drin leigen, diese wollen sie z.B. meiner Seite zum Download anbieten wenn sie online sind, daran arbeite ich gerade. und dass sie nicht jeden Pfad einzelnt eintragen müssen wollte ich dies machen das sie ihren Ordner in ein Formular eingeben können und dieser dann alle Dateien auswählt, den Dateipfad abspeichert, die GRöße etc. und diesen dann in der Datenbank festhält. WEnn der User online ist kann er dann alle Dateien bereitstellen und wenn er offline ist kann er sie wieder offline setzen. Halt ohne diesen speziellen Befehl den ich suche den es anscheinend nicht gibt wäre das ne verdammte Arbeit alle Einträge manuell einzugeben für jede Datei die der reinsetzen will.

Und da das alles über meine HP laufen soll will ich eigentlich keine andere HP mit irgend welchen PHP Classes dafür benutzen

 
peterz
27-02-2004, 16:33 
 
jetzt hab ich es kapiert
geht nicht du hast ja keinen zugriff auf fremde ordner

 
ginod
27-02-2004, 16:50 
 
ja aber was heißt ich habe keinen Zugang ich habe doch Zugang auf z.B.

http://www.meinehomepage.de/meinordner/ da kann jeder drauf zugreifen, auch Fremde, und jeder kann die Dateien sehen und runterladen wenn er lust hat, aber auslesen kann ich sie dann nicht oder wa s??

so ein Misst... jetzt ist mein Konzept geplatzt wo ich nun schon gestern die ganzen Tag dran gearbeitet habe mhmm....

 
wahsaga
27-02-2004, 17:10 
 
Original geschrieben von ginod
ja aber was heißt ich habe keinen Zugang ich habe doch Zugang auf z.B.

http://www.meinehomepage.de/meinordner/ da kann jeder drauf zugreifen, auch Fremde, und jeder kann die Dateien sehen und runterladen wenn er lust hat, aber auslesen kann ich sie dann nicht oder wa s??
das ist das directory listing, welches dir dieser server freiwillig anbietet, wenn du nur den verzeichnisnamen in deinem browser aufrufst.

dann generiert dir der server eine fertige HTML-seite, die die auflistung enthält, und schickt dir diese zurück.

ist es so schwer zu begreifen, dass das etwas vollkommen anderes ist, als selber per script hinzugehen und auszulesen, welche ordner es alles gibt? dazu brauchst du einen FTP-zugriff auf den server!

bitte mach dir mal klar, wo der unterschied zwischen dem lokalen dateisystem deines servers, und einem zugriff per HTTP auf einen fremden server liegt!

wie fändest du es, wenn sich jemand von ausserhalb alle dateien auf deinem server auflisten lassen könnte, auch wenn du diese gar nicht verlinkt hast etc. ...?

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 04:28 Uhr.