Mit put - Befehl Dateien auf Server hochladen

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

Schlagwörter: ,

Dieses Thema enthält 11 Antworten und 4 Teilnehmer. Es wurde zuletzt aktualisiert von  SashMo vor 5 Monate, 4 Wochen.

  • 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
    Moderator

    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
    Moderator

    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
    Moderator

    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. 🙂

Du musst angemeldet sein, um auf dieses Thema antworten zu können.