AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein [PHP] Rekursives uploaden von Ordnern
Thema durchsuchen
Ansicht
Themen-Optionen

[PHP] Rekursives uploaden von Ordnern

Ein Thema von Sebastian R. · begonnen am 19. Feb 2006 · letzter Beitrag vom 20. Feb 2006
Antwort Antwort
Sebastian R.

Registriert seit: 12. Feb 2006
94 Beiträge
 
#1

[PHP] Rekursives uploaden von Ordnern

  Alt 19. Feb 2006, 11:28
Hi Leute,
ich brauche ein Skript in PHP, indem ich den Ordner von meiner Festplatte bestimme, z.B. C:\Homepage\ und das Skript dann alle Files und Ordner aus C:\Homepage\ auf meinen Server zieht. Sprich wenn Homepage einen Unterordner test hat, dann soll dieser auch auf meinem Server zu sehen sein.

MfG, Sebastian R.

PS: Ich habe es bereits probiert, klappt leider bei mir nicht.
Sebastian R.
Keep on programming!


CyCode.net - Meine Programme, Tutorials und Quelltexte
  Mit Zitat antworten Zitat
Benutzerbild von mh166
mh166

Registriert seit: 14. Nov 2004
Ort: Chemnitz
443 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#2

Re: [PHP] Rekursives uploaden von Ordnern

  Alt 20. Feb 2006, 00:48
Das ist so erstmal nich möglich. Schließlich läuft PHP ja aufm Server und hat von daher keinen Zugriff auf deine lokale HDD. Wäre ja noch schöner

Allerdings würden mir jetzt zwei Wege einfallen, wie man das mehr oder weniger eleganz lösen könnte:
#1 wäre den Ordner einfach zu zippen (mit Ordnerstruktur) und dann die zip uploaden und entpacken lassen. Solch eine Funktion bietet beispielsweise WebFTP.
#2 könnte man das eventuell mittels AJAX lösen. Das heißt, du gibst dem das Verzeichnis an, und per JavaScript wird dann durch iteriert und die einzelnen Dateien hochgeladen. Ob das allerdings so auch in der Praxis umzusetzen ist, weiß ich nicht und dass es bereits fertige Skripte nach diesem Lösungsansatz gibt, bezweifle ich.

so far...
mfg, mh166
Tiefgründige Sätze unserer Zeit:
Zitat von Luckie:
Und diesen Token zur Laufzeit zu modifizieren würde bedeuten, dass du zur laufzeit das Token ändern musst.
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.640 Beiträge
 
#3

Re: [PHP] Rekursives uploaden von Ordnern

  Alt 20. Feb 2006, 09:41
Zitat von mh166:
#2 könnte man das eventuell mittels AJAX lösen. Das heißt, du gibst dem das Verzeichnis an, und per JavaScript wird dann durch iteriert und die einzelnen Dateien hochgeladen.
Ich glaube nicht, dass das geht. Schliesslich darf auch JavaScript nur auf explizit angegebene Dateien zugreifen und auch nicht frei nach Gutdünken einfach mal so über die Festplatte spazieren.

Ich denke, das Verzeichnis zu zippen und diese eine .zip an das PHP-Script zu senden ist das beste. Das Script kann die Datei dann nämlich mit allen Unterverzeichnissen auch wieder entpacken - und es hat noch einen Vorteil: Es geht schneller hochzuladen als wenn es ungepackt wäre
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Sebastian R.

Registriert seit: 12. Feb 2006
94 Beiträge
 
#4

Re: [PHP] Rekursives uploaden von Ordnern

  Alt 20. Feb 2006, 09:46
Zitat von mh166:
Das ist so erstmal nich möglich. Schließlich läuft PHP ja aufm Server und hat von daher keinen Zugriff auf deine lokale HDD. Wäre ja noch schöner
Doch, das geht. Es ist ja kein Inet-Server, sondern er läuft im Home-Netzwerk. Da kann man per Copy auch auf Files von dem zugreifen, der das Skript grade ausführt. Ich habe ja schon ein Skript geschrieben, welches einzelne Files uploadet. Jetzt brauch ich eine eine rekursive Funktion, die mir dem Filename extrahiert und dann hochlädt.

Sprich wenn ich C:\Homepage\ übergeben, und der Ordner hat 2 Unterordner HP und Test1, dann soll er sowas machen:

C:\Homepage\Test1\index.htm to localhost/Test1/index.htm
...
Sebastian R.
Keep on programming!


CyCode.net - Meine Programme, Tutorials und Quelltexte
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.640 Beiträge
 
#5

Re: [PHP] Rekursives uploaden von Ordnern

  Alt 20. Feb 2006, 11:23
Äh. Ich komm da grad nicht so ganz mit.

Das Skript 'ausführen' kann ausschliesslich der Server. Das Script 'aufrufen' bzw. die Ausführung anstossen kann jeder beliebige Rechner.

Wenn Du nun C:\anyfile im Webbrowser angibst, dann sendet Dein Webbrowser C:\anyfile an den Webserver, und dieser übergibt die Datei an Dein PHP-Script. Dein Php-Script kann gar keine Ahnung haben, wie die Verzeichnisstruktur des anfragenden Rechners aussieht.

Etwas anderes wäre, wenn Du z.B. \\DEINRECHNERNAME\$C\anyfolder angibst, und Dein PHP-Script dann - wie auf dem localhost Filesystem - halt auf die normale Netzwerkfreigabe zugreift. Dort kannst Du dann auch rekursiv arbeiten (genauso wie Du ein Verzeichnis mit allen Files, Unterordnern und einer ganzen Baumstruktur vom Server auf einer Webseite anzeigen lassen kannst).

Du kannst freilich versuchen, anhand der http-Header die IP abzufragen und aus dem Pfad 'C:\anyfolder\' eben sowas wie \\xxx.xxx.xxx.xxx(ip des anfragenden rechners)\$C\anyfolder' zu machen, aber ob das so gut funktioniert ist eine andere Sache.

In den beiden Fällen musst Du übrigens dafür sorgen, dass Dein Server im Heimnetzwerk bzw. genauer dessen Besitzer des Webserver-Prozesses auch auf Deine Standard-Freigaben zugreifen darf.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Benutzerbild von mh166
mh166

Registriert seit: 14. Nov 2004
Ort: Chemnitz
443 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#6

Re: [PHP] Rekursives uploaden von Ordnern

  Alt 20. Feb 2006, 11:53
Hmm... hab ich das richtig verstanden? Der Webserver is auf der selben Maschine, wie die Dateien die hochgeladen werden sollen?

Naja, however. Wenn du shcon einzelne Dateien hochgeladen hast, dann wirst schon wissen, wie dus machst. Bleibt also nur noch das Problem mit dem rekursiven hochladen. Dafür würd ich dir die Suche hier empfehlen. Vor wenigen Tagen gabs hier einen Thread zum Directorylisting per PHP. Dieses Skript zum listen des Verzeichnisses packst du dann einfach in eine function und falls ein Objekt ein Ordner ist, dann ruft sich die Funktion selbst wieder mit dem neuen Verzeichnis auf... rekursiv eben.

@Phoenix: najut, deswegen sagte ich ja, dass ich nich sicher bin, obs geht. Hab mit JS nich so viel am Hut. Wäre halt das einzige was hätte möglich sein können. Aber wenn man sichs mal durch den Kopf gehen lässt, dann is das so auch besser so. Kann ja sein, dass andere auf die selbe Idee kommen - ohne dabei was gutes im Schilde zu führen.

mfg, mh166
Tiefgründige Sätze unserer Zeit:
Zitat von Luckie:
Und diesen Token zur Laufzeit zu modifizieren würde bedeuten, dass du zur laufzeit das Token ändern musst.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:58 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz