chris: Öffnen, verändern, speichern von Dateien auf dem Server

hallo forum`ler,

habe ein problem.
ich habe mir ein macro programmiert, das aus einem editor heraus eine xml-datei von der adresse http://.../mydocument.xml vom server öffnet.
nun brauche ich ein macro, das dieses dokument nach erfolgten modifikationen im editor wieder auf dem server (http://.../mydocument.xml) zurückschreibt/speichert.
auf die platte kann ich speichern, nur auf die http-addresse nicht.

weiss jemand bescheid?

chris

  1. Hi,

    auf die platte kann ich speichern, nur auf die http-addresse nicht.

    obwohl das HTT-Protokoll Schreibmechanismen vorgesehen hat, werden diese von kaum einem System unterstützt. Über HTTP hast Du da also praktisch keine Chance.

    Es gibt genügend andere Protokolle, die Du statt dessen nutzen kannst[1]; allen voran FTP und Telnet. Suche Dir einfach das für Dich günstigste heraus.

    Cheatah

    [1] Vorausgesetzt natürlich, auf dem Zielsystem ist ein entsprechender Server installiert.

    1. Hi Cheatah,

      obwohl das HTT-Protokoll Schreibmechanismen vorgesehen hat, werden diese von kaum einem System unterstützt. Über HTTP hast Du da also praktisch keine Chance.

      http://www.teamone.de/selfaktuell/forum/messages/116010.html
      macht das schon. Nur eben nicht ganz so wie ich will.
      Vielleicht faellt dir was dazu ein?

      Gruss

      rainer

      1. Hi,

        obwohl das HTT-Protokoll Schreibmechanismen vorgesehen hat, werden diese von kaum einem System unterstützt. Über HTTP hast Du da also praktisch keine Chance.

        http://www.teamone.de/selfaktuell/forum/messages/116010.html
        macht das schon.

        ach so, Du arbeitest mit PHP schon auf dem Server, da hatte ich Dich mißverstanden. Ich dachte, Du würdest von Deinem heimischen System aus Macros ausführen.

        Nur eben nicht ganz so wie ich will.
        Vielleicht faellt dir was dazu ein?

        So pauschal nicht, aber PHP kenne ich auch kaum. Warum fragst Du eigentlich nicht in o.g. Thread nach, wenn es da schon um das gleiche Thema geht?

        Cheatah

        1. Hi,

          Warum fragst Du eigentlich nicht in o.g. Thread nach, wenn es da schon um das gleiche Thema geht?

          weil dieser Thread nicht von Dir stammt. Schon gut, schon gut :-)

          Cheatah

    2. hi cheatah,

      zunächst mal danke für deine antwort.

      Es gibt genügend andere Protokolle, die Du statt dessen nutzen kannst[1]; allen voran FTP und Telnet. Suche Dir einfach das für Dich günstigste heraus.

      das problem ist folgendes:

      hier bei mir auf dem server liegen bestimmte dateien (eh klar).
      ein kunde benutzt das programm xmetal von softquad (genau wie ich).
      er soll letztlich statt der "normalen" öffnen und schließen buttons zwei makros zur verfügung haben, mit deren hilfe er dateien von unserem server her öffnet. (der gute mann arbeitet von zu hause aus).
      das öffnen-makro läuft. die datei wird vom server geladen und im programm geöffnet.
      der kunde verändert das doku nach seinen vorstellungen und speichert, indem er auf das speicher-makro klickt.
      nun soll die datei auf dem server überschrieben werden.
      (ohne telnet, oder explizitem zugriff auf ftp-programme).

      danke dir
      chris

      1. Hi,

        hier bei mir auf dem server liegen bestimmte dateien (eh klar).

        "bei mir" heißt "im Internet", also (aus Benutzersicht) nicht lokal, oder?

        ein kunde benutzt das programm xmetal von softquad (genau wie ich).

        Kenne ich nicht, kann ich also nichts spezifisches zu sagen.

        nun soll die datei auf dem server überschrieben werden.
        (ohne telnet, oder explizitem zugriff auf ftp-programme).

        Dann bleibt Dir noch, eine eigene CGI-Schnittstelle (o.ä.) zu schreiben. Das Macro übermittelt die geänderten Daten per POST an das Script, welches sie entgegennimmt und - tadaa - speichert. Basis könnte etwa folgendes sein:

        #!/usr/bin/perl -w
        use strict;
        use CGI ':standard';
        my $filename = '/complete/path/to/your/file.txt';
        open(WRITE, ">$filename") or die "Kann $filename nicht oeffnen: $!";
        print WRITE param('file');
        close(WRITE) or die "Kann $filename nicht schliessen: $!";

        (ungetestet)
        Sicherheitsmechanismen o.ä. mußt Du nach Deinen Wünschen noch selbst einfügen.

        Cheatah

        1. Argh!

          #!/usr/bin/perl -w

          [...]

          close(WRITE) or die "Kann $filename nicht schliessen: $!";

          print header('text/plain'), 'Daten wurden aktualisiert.';

          Es soll ja ein CGI-Script sein :-)

          Cheatah

      2. Hi Chris,

        Du kannst natuerlich Deinen Webserver um die von cheatah erwaehnten HTTP-Write Funktionen erweitern. Der IIS ab der Version 4 unterstuetzt das meines Wissens nach bereits. Fuer den Apache
        Webserver gibt es dafuer ein Modul: mod_dav. Dazu siehst Du am besten
        mal bei: http://www.webdav.org vorbei.

        Auf dem Client Rechner muessen diese Erweiterungen nun ebenfalls installiert werden. Diese sind aber im IE5.0 mit dabei.
        Dazu muss dieser mit der Funktion "Webordner" installiert werden.

        Dafuer gibt es auch einige How-To im Netz. Sollte also nicht das Problem sein.

        Viele Gruesse
        Tina