PHP Zugriff auf Dateien von fremden Servern

Hallo liebe Experten,

Kann (und wenn ja wie kann) ich auf Dateien fremder Server zugreifen? Auch in bereits existierende Dateien schreiben?

Danke für Eure Hilfe
Günter Bartling

Du kannst auf Dateien zugreifen, indem Du sie normal verlinkst.

Verändern?? Willst Du unter die Hacker gehen?

Gruß, remy

Nein, das geht so nicht.
Du kannst zwar versuchen die Datei einzulesen, wenn die Datei öffentlich ist, aber schreiben geht nicht.
Vielleicht gehts wenn du dir durch n ftp-script (wenns sowas gibt) die datei runterlädst, sie änderst und dann wieder hochlädst.
Wieso ist das so?
Würde man das einfach so können, dann…
…egal, wäre zumindest nich so gut :wink:.

Mit freundlichen Grüßen,

denkenreden

schei� encoding^^

Kann (und wenn ja wie kann) ich auf Dateien fremder Server
zugreifen?

Ja, solange nicht der SafeMode an ist. Dabei können die selben Funktionen in PHP wie für die normale Dateiverwaltung verwendet werden. Beachtet werden muss nur, dass man z.B. wenn man das http Protokoll verwenden möchte, dass man in jedem Fall die vollständige URL eingibt. Beispiel:

get_file_contents('http://google.de/’);

Auch in bereits existierende Dateien schreiben?

Dies geht nur je nach Protokoll z.B. bei ftp (‚ftp://user:stuck_out_tongue:assword@host/file‘). Siehe auch: http://de.php.net/wrappers

http://de2.php.net/manual/en/book.ftp.php
Wenn Die Dateien/Verzeichnisse die entsprechenden Rechte haben geht lesen und schreiben.

http://de2.php.net/manual/en/function.file-get-conte…
http://de2.php.net/manual/en/function.file-put-conte…

wäre auch eine Möglichkeit, wenn in der php,ini die FOPEN Parameter auf on gesetzt sind.

Hallo
in dem sie die FTP Funktionen von PHP nutzen und sich per FTP bei den Servern einloggen.
Grüße
JW

Ohne rechte garnich, wenn dir der server nich gehört hast du auch keine schreibrechte.

Das abfragen von dateien sollte man mit readfile() bewerkstelligen können.

solltest du zugriffsrechte auf die datei auf dem fremdserver haben in php gibt es möglichkeiten auch per ftp auf files zuzugreifen ansonsten ist es nicht möglich, soweit mir bekannt ist, sowas sollte auch schon aufgrund der serversicherheit unmöglich sein.

Jedoch werden server nach außen hin immer so geschaltet das man nur lesen aber nicht schreiben kann.

Hallo Günter,

Mittel und Wege gäbe es da schon - zum Beispiel via FTP Down- und Upload.

Gruß
Sven

Wieso so umständlich!?

Leg eine Datenbank an und mach es über SOAP
Und ja, es geht. Aber da machst du dir ne RIESIGE Sicherheitslücke auf!
Das ist so, als wenn du den Schlüssel deiner Wohnung vor die Tür legst und machst nen Schild daneber wie z.B.

Schlüssel liegt unten auf dem Boden!

Wenn du den Zugriff auf Dateien erlaubst, erlaubst du es allen. Und Personen können PHP-Dateien erstellen und schädlichen Code einfügen oder sogar root-Zugang erhalten! Überleg es dir besser nochmal

Hallo Günter,

wenn du entsprechende Zugänge hast kannst du auch auf fremde server schreiben, normal kann man über http nur lesen.

Es gibt die Möglichkeit über Webdav auf den server zu schreiben. Hab hier ein Tutorial gefunden:
http://www.html-world.de/program/phpex_13.php

Oder über FTP:
http://php.net/manual/de/book.ftp.php

Lesend kannst du ganz einfach über file_get_contents() auf fremde daten zugreifen. (http://de3.php.net/manual/de/function.file-get-conte…)

Hoffe dir geholfen zu haben.
Frank

Hallo,

dies würde ich über die FTP-Funktion in PHP machen. Siehe http://php.net/manual/de/book.ftp.php

Grüße
Volker Bihrle

Tut mir leid, diese Frage kann ich nicht beantworten

Hallo,
Du brauchst also einen externen Server um Dateien für deine Webseite zu lagern, oder?
Mir fällt da spontan nichts ein, wenn du aber wirklich spezifisch für einen Webapp Dateien speichern willst wärs vllt gar nicht so doof dir nen paar Scripte zu schreiben, auf einen gemeinsame Datenbank zuzugreifen und dann meinentwegen über http://storage.example.de/*user-id*/root/testdatei in deinen Datei schreiben zu können.
Gruß Felix

Hallo,

beides ist prinzipiell möglich. Per FTP zum Beispiel.
Siehe http://www.php.net/manual/de/function.ftp-ssl-connec…
und http://www.php.net/manual/de/function.ssh2-sftp.php
Oder eben über Webservices.

Aber Achtung: Sowas sauber und vor allem sicher hinzubekommen ist bei öffentlich erreichbaren Servern nicht ohne Risiko machbar. Das Lesen von öffentlichen Daten ist kein Problem aber bei allem anderen gilt: Irgendwo müssen ja Zugangsdaten gespeichert werden…

Viel Erfolg wünscht

frozen

Wenn man anstatt localhost die URL der Datenbank angibt sollte der Zugriff funktionieren.