Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi Datein auf einem Server verändern (https://www.delphipraxis.net/180911-datein-auf-einem-server-veraendern.html)

Bladefire 30. Jun 2014 17:03

Datein auf einem Server verändern
 
Hallo,

Ich würde gerne ein Programm schreiben das daten auf einen Webspace auslesen und verändern kann (Textdokument, Acces Datenbank, Ini-files).

Wie kann ich dies Bewerkstelligen? (Wenn sich die Daten auf den gleichen Computer wie das Programm befinden ist dies kein Problem für mich)

Die Daten werden dann wieder von einen anderen Programm benötigt.

Ich bitte um Stichwörter (incl. kurzer beschreibung) nach dienen ich suchen kann um mein Problem zu bewältigen.

Danke für deine Hilfe.

Lg Simon

himitsu 30. Jun 2014 17:11

AW: Datein auf einem Server verändern
 
Wie bekommt man denn normaler Weise Dateien auf einen "Server"?

Genau die gleiche Schnittstelle kann man auch vom Programm aus ansprechen. :stupid:



z.B. TidFTP :?:

Captnemo 1. Jul 2014 00:43

AW: Datein auf einem Server verändern
 
Zu erst wäre es interessant, wie du auf den Webspace zugreifen kannst. (hast du FTP-Zugriffsrechte, oder gibt es auch die Möglichkeit über SMB darauf zuzugreifen)

Bei smb kannst du ja direkt zugreifen. Aber über FTP kannst du ja nur
- FTP connecten
- Datei runterladen
- Änderungen durchführen
- lokale Datei speichern
- und wieder hochladen

Bei txt und ini mag das ja noch praktikabel sein, aber bei Access-Dateien, die ja durchaus recht groß sein können, könnte das etwas problematisch sein. Vor allem weil während down- und Upload evtl. Noch andere User oder Skripte darauf zugreifen könnten ( und evtl. auch Daten verändern, die beim hochladen dann gnadenlos überschrieben werden). Da wäre der Zugriff über SQL in einem PHP-Script oder ASP-Script sinnvoller.

mquadrat 1. Jul 2014 05:50

AW: Datein auf einem Server verändern
 
Neben FTP gäbe es auch noch die Möglichkeit WebDAV zu verwenden, wenn der Server das unterstützt. Haben wir im Intranet einer Bank so umgesetzt und das hat wunderbar funktioniert.

Bladefire 1. Jul 2014 18:15

AW: Datein auf einem Server verändern
 
Danke für eure Antworten,

geht es einfacher wenn ich daten nur auslesen will? (inifile)

lg Simon

Captnemo 1. Jul 2014 18:55

AW: Datein auf einem Server verändern
 
Wie willst du denn zugreifen? FTP?

Dann kannst du nur runterladen, lokal bearbeiten, und dann wieder hochladen. Mit TIdFTP z.B.

Sir Rufo 1. Jul 2014 19:11

AW: Datein auf einem Server verändern
 
Zitat:

Zitat von Captnemo (Beitrag 1263989)
Wie willst du denn zugreifen? FTP?

Dann kannst du nur runterladen, lokal bearbeiten, und dann wieder hochladen. Mit TIdFTP z.B.

Das Hauptproblem ist und bleibt doch dabei, dass eine Datei immer in ihrer Gesamtheit gespeichert wird.

Original auf dem Server
Code:
[Test]
Wert1=10
Rechner 1 ändert auf
Code:
[Test]
Wert1=10
Wert2=7
Rechner 2 ändert auf
Code:
[Test]
Wert1=6
Je nachdem wer schneller ist, der verliert nun, denn entweder ist nachher die Version von Rechner 1 oder die von Rechner 2 auf dem Server.

Ob das so gewünscht ist?

Bladefire 2. Jul 2014 16:56

AW: Datein auf einem Server verändern
 
@Sir Rufo, nein das wäre nicht erwünscht.

@Captnemo, ich denke das ich nur über ftp darauf zugreifen kann. Die Webspace habe ich von bplaced.
(belehre mich, sollte ich mich geirrt haben :!:)

@mquadrat, ich denke nicht das WebDAV unterstützt wird.

@Captnemo, falls es nichts einfacheres gibt (wo das problem das von Sir Rufo angesprochen wurde nicht existiert) werd ich die Files wohl oder übel mit ftp ändern. Aber zum auslesen denke ich das es womöglich einen leichteren, anderen weg gibt, wo ich die daten nicht immer downloadn muss. (statt acces kann ich auch das auch mit sql machen, allerdings würde ich auch gerne inifiles auslesen.

Weis jemand wie man dies einfacher als per ftp bewerkstelligen kann?

Danke für eure mühen.

Lg Simon

Dalai 2. Jul 2014 17:12

AW: Datein auf einem Server verändern
 
FTP ist nunmal genau das: ein File Transfer Protocol, etwas zum Dateien transferieren. Entweder du lebst damit, die Dateien hin und her zu transferieren oder du nimmst dir einen Hoster, der ein geeignetes Protokoll anbietet (welche das sind, weiß ich allerdings mangels Erfahrung nicht).

MfG Dalai

Captnemo 2. Jul 2014 17:52

AW: Datein auf einem Server verändern
 
Um FTP kommst du wahrscheinlich nicht drum herum.
Ich kenn den Hintergrund für dein Programm nicht. Aber um z.B. das Problem zu umgehen, dass andere User ggf. auf gleiche Dateien zugreifen könnten (ich geh jetzt mal davon aus, das nur mit deinem Programm darauf zugegriffen wird), müßtest du dir ein Hilfsmittel schaffen um das auszuschließen.
z.B. könntest du die Daten vor dem runterladen umbenennen (z.B. blabla.ini in blabla.ini.lock). Das Umbenennen kann man per FTP-Protokoll direkt auf dem Webserver machen, also unabhängig von der Filesize. Dann die umbenannte Datei herunterladen, bearbeiten, hochladen und wieder auf alten Namen zurück ändern.
Dann müßtest du in deinem Programm natürlich berücksichtigen, dass die .lock-dateien in der Dateianzeige als "In Bearbeitung" angezeigt und von anderen Clients nicht bearbeitet werden können.

Oder andere Möglichkeit, du legst dir eine Unterverzeichnis auf dem FTP-Server an, sozusagen als LOCK-Ordner. In diesem Ordner legst vor dem Herunterladen eine Datei an, die genauso heißt wie die, die du bearbeiten möchtest. Diese Datei muß ja nicht viel beinhalten, vielleicht den Namen des Clients, der die ursprungsdatei bearbeiten will. Nun lädst du dir die Original herunter und bearbeitet diese. Wenn jetzt ein anderer Client auf deine Urspungsdatei zugreifen will, schaut er halt erst im LOCK-Order nach, ob eine Datei gleichen Namens dort existiert. Ist das der Fall, so kann er dem User mitteilen, dass die Datei gesperrt ist und von wem.
Nach dem Bearbeiten und wiederhochladen, löscht du einfach die entsprechende Datei aus dem LOCK-Ordner wieder, so kann sie wieder von allen bearbeitet werden.

Je nach dem, um was also im detail geht, findet sich schon eine Lösung. Mit oben genannten Möglichkeiten könntest du sogar größere Dateien bearbeiten, ohne Angst zu haben, dass evtl. Änderungen andere Clients beim wiederhochladen überschrieben werden. Ob das nun der eleganteste Weg ist, weiß ich nicht. Aber wenn man sich lediglich auf das FTP-Protokoll beschränken muß, dann muß man im Zweifelsfall auch Kompromisse bezüglich der Eleganz machen.
Mir würde auch noch eine Möglichkeit über das Rechtesystem der Dateien auf dem FTP-Server einfallen. Aber ich weiß nicht, in wie weit du auf die Rechte und die FTP-User-Verwaltung zugreifen kannst.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:01 Uhr.
Seite 1 von 2  1 2      

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