Mit put – Befehl Dateien auf Server hochladen

Startseite Foren Deutsches LiveCode-Forum Mit put – Befehl Dateien auf Server hochladen

Schlagwörter: ,

Ansicht von 11 Antwort-Themen
  • Autor
    Beiträge
    • #2744
      Volker
      Teilnehmer

      Hallo,
      bei meinem Programm werden sowohl vom Windows Pc als auch unter Android Textdateien mit dem put -Befehl auf einen Server hochgeladen. Alles scheint Ok zu seien, doch irgendwann sind die Dateien plötzlich auf dem Server gelöscht bzw verschwunden. Hab schon mehrere Server mit dem gleichen Ergebnis ausprobiert.
      Was mach ich nur falsch ?
      Kann mir jemand weiterhelfen?

      Gruß Volker

    • #2757
      Klaus Major
      Verwalter

      Hallo Volker,

      normalerweise muss ein Server dafür eingerichtet werden, um mit einfachem „put“ Daten zu empfangen.
      Ich denke, Du kannst Dir vostellen, wenn man das mit JEDEM Server machen könnte, wie lange das Internet bestehen würde.

      Also Du hast wahrscheinlich einfach nur Glück gehabt, OHNE Usernamen und Password Daten auf einen beliebigen Server zu schieben, und es gab nur keine diesbezügliche FEHLERMELDUNG in Livecode.

      Üblicherweise „POST“et man Daten an ein PHP ö.ä. Skript auf dem Server und dieses Skript sorgt für den Rest wie speichern der Datei am richtigen Ort etc…

      Oder habe ich hier was völlig mißverstanden? Kann auch sein. 😀

      Gruß

      Klaus

    • #2760
      Tim K
      Teilnehmer

      Hi Volker,

      damit hatte ich auch größere Probleme. Die theoretische Lösung wäre wohl die Daten per „put“ an eine FTP Adresse zu senden, die das dann mit Username und Passwort des FTP-Users hochlädt / hochladen soll. Dies hat bei mir unter Windows funktioniert, aber unter Android habe ich das trotz zig Versuchen nicht zum Laufen gekriegt.

      Daher würde ich Klaus zustimmen: Seit ich das umgestellt habe und die Daten an ein PHP-Skript poste, das dann die Werte in die TXT-Dateien auf dem Server schreibt, läufts.

      Schönen Gruß
      Tim

    • #2767
      Volker
      Teilnehmer

      Hallo Klaus und Tim
      danke für die schnelle Antwort.
      Es ist so, ich habe mich schon bei drei verschiedenen Servern registriert und habe mit Name und passwort mit put „Text“ into url („ftp://name:passwort@host/text.txt“) den Text hochgeladen. Die Datei war dann auch auf dem Server vorhanden und ich konnte sie auch wieder runterladen, eigentlich alles gut. Aber irgendwann nach Stunden kam beim runterladen : file not found . Beim Überprüfen mit FileZilla war die Datei weg. Und das bestimmt 30 mal im letzten Monat.
      Aber ich denke ich werde die Sache mit dem put – Befehl mal vergessen und eurem Rat folgen und mit dem post – Befehl weiter probieren. Hab ich die letzten Tage auch schon gemacht, bislang aber ohne Erfolg.
      Muß ich dazu vorher Name und Passwort mit URLEncode codieren?
      So wie ich Klaus verstanden habe muß das script auf dem Server dazu passen, muß ich da also irgendwas programmieren oder geht das mit jedem Server der php hat.
      Muß die Datei vorhanden sein, oder geht es wie beim put – Befehl, das die Datei neu erstellt wird?
      Ihr merkt ich bin totaler Anfänger aber vieleicht krieg ich es ja noch hin.

      Gruß Volker

    • #2770
      Klaus Major
      Verwalter

      Hallo VOlker,

      bin auch kein Server Experte, könnte mir aber vorstellen, daß der Ordner „host“, in den Du die Datei hochgeladen hast, nur „temporär“ existiert und bei irgendwelchen CRON Jobs*** wieder gelöscht oder geleert wird.

      ***CRON Jobs sind automatische, periodisch wiederkehrende Aktionen/Skripts, die stündlich, täglich und wöchentlich auf Servern durchgeführt werden.

      Es muss auch ein passendes PHP-Skript auf dem Server liegen, welches:
      a. Deine Identität prüft an Hand der angelieferten Daten, sonst könnte ja jeder irgendwas auf den Server laden, ob URLencoded oder nicht, weiß ich leider nicht, und
      b. muss das Skript wissen, wohin etwas gespeichert werden soll.

      Von PHP habe ich leider keine Ahnung, aber eine Datei wird auch hierbei erstellt, wenn sie noch nicht vorhanden ist.

      Gruß

      Klaus

    • #2778
      Tim K
      Teilnehmer

      Hi Volker,

      ich bin auch kein Server-Experte, aber ich kann mir nicht vorstellen, dass das an LiveCode oder der hochgeladenen Datei liegt. Ich weiß ja nicht, welche Anbieter Du nutzt, aber „… schon bei 3 Servern registriert“ klingt eher nach Gratis-Angeboten? Vielleicht räumen die sehr regelmäßig auf, damit Du den Server vollständig testen, aber nicht tatsächlich benutzen kannst. Zum Test könntest Du mal irgendwas über FileZilla hochladen, ohne LiveCode zu beteiligen, um zu schauen, ob es bleibt.

      Beim post-Befehl ist die Eingabe eines Logins (soweit ich weiß) nicht vorgesehen, lediglich die URL des Skripts auf dem Server. Hier wird ja nichts hochgeladen, im Gegensatz zu FTP, wo der User ggf. weitreichende Rechte auf dem Server hat. Du sendest nur eine Variable, so als wenn Du ein HTML-Formular hättest, wofür die Methode ja ursprünglich gedacht ist. Entsprechend muss die Variable inhaltlich auch so formatiert werden, als wenn es ein Formular wäre, damit das Skript sie verstehen kann und in der Variablen $_POST empfangen kann. Schindluder ließe sich damit weniger treiben, weil Du im Endeffekt nur Strings schickst, das Skript damit nur macht, was Du vorgesehen hast und man sehr genau wissen müsste, was unter welchem Namen genau wohin geschickt wird. Ich bin aber bei PHP auch eher Anfänger.

      URLEncode verwende ich nicht, scheint nicht unbedingt nötig zu sein. textEncode / textDecode hingegen schon, wenn Deine Texte deutsche oder andere Sonderzeichen enthalten und nicht nur englisch sind. Wie man das macht, so dass es sauber funktioniert, habe ich aber noch nicht voll durchschaut…

      Gruß Tim

    • #2783
      Volker
      Teilnehmer

      Hallo,
      danke nochmal für eure Antworten.
      Ich werde noch mal ein bisschen rum experimentieren. Wenn ich es gar nicht hinkriege kann ich mich ja vielleicht noch mal melden.

      Gruß Volker

    • #9430
      SashMo
      Teilnehmer

      Hallo zusammen, 🙂
      gab es zu diesem Thema zwischenzeitlich Ergebnisse/Erkenntnisse? Ich probiere gerade auch viel herum und möchte mit Hilfe des put- Befehls eine txt Datein ablegen. In Livecode selber klappt das super. Als Android-Standalone leider nicht. Bei den Inclusions habe ich schon verschiedenes ausprobiert. Bisher noch erfolglos.

      viele Grüße
      Sascha

    • #9478
      Volker
      Teilnehmer

      Hallo,
      also seitdem ich die Indy Version gekauft habe klappt das ohne Probleme.
      Gruß

    • #9487
      SashMo
      Teilnehmer

      Hallo Volker,

      vielen Dank für die Rückmeldung. Ich habe mir die Indy-Version noch nicht angesehen. Da ich das Ganze aber nicht kommerziell machen möchte, käme das sowieso nicht in Frage. Wenn dem wirklich so ist, finde ich die Einschränkung… schade und ich brauche LiveCode nicht weiter zu verfolgen. So weit mir bekannt ist, kostet die Indy 499$ im Jahr. Das ist für meine Zwecke eindeutig zu viel Geld. Ich will also nicht hoffen, dass es daran liegt.

      Viele Grüße und schöne Feiertage
      Sascha

    • #9488
      Klaus Major
      Verwalter

      Ich kann mir auch nicht vorstellen, daß es an der verwendeten Version liegt!

      Wenn eine Datei auf dem Server angekommen ist, dann ist sie auf dem Server angekommen. Wenn sie später einfach so verschwindet, ist das wohl eher eine Sache des Servers und nicht die von LC.

    • #9493
      SashMo
      Teilnehmer

      Hmja Klaus da hast du wohl recht. Ich bin hier auch etwas „fehl am Platze“. Denn tatsächlich geht es in meiner Situation nicht darum, dass die Datei vom Server verschwindet. Sie (die Datei) wird aus Android heraus nicht auf den Server geschrieben. Aus LC selber klappt es super. Nur ausm mobile heraus nicht. Bin im falschen Thread gelandet. Sorry. 🙂

Ansicht von 11 Antwort-Themen
  • Du musst angemeldet sein, um auf dieses Thema antworten zu können.