Datei auf Server finden ( ftp.dll )

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • Datei auf Server finden ( ftp.dll )

      Hallo Community,
      Ich würde gerne von Game Maker überprüfen lassen(auch mit dll) ob sich eine Datei auf dem Server befindet.
      Ich glaube das geht mit der FTPdll. Aber ich weiß nicht wie :D
      würde mich über eine schnelle antwort freuen
      mfg Gamer_08
      PS:Ja...SUFU benutz.Nein nichts gefunden(selbst wenn ich nur "FTP" [ohne""] eingegeben hab kam nichts ?( )
    • Ja, mir der ftp_file_find_first()-Funktion habe ich es auch schon probiert. Wenn die Datei am Server jedoch nicht existiert, kommt eine Fehlermeldung von der DLL aus (Also eine Messagebox), die sich leider nicht abschalten lässt.
      fabse64 -> haiyyu
    • hmmmm
      HAT KEINER EINE ANDERE LÖSUNG??
      EDIT:könnte ich nicht alle dateien eines verzeichnisses runterladen(sind alles nur .txt's mit wachsendem inhalt^^)und dann danach suchen(wenn sie auf dem pc sind)?
      EDIT2:also das was ich geschrieben hab is villeicht doch nicht so gut...
      also ich sage jez dich ma worum es genau geht(wozu ich es brauche:)
      ich mache grade einen nachrichtendienst der txt dateien hochläd und die jeweilige person (an die die nachricht geht) läd die datei runter un d darin steht dann die nachricht.ich will dass man sich "anmelden" kann. damit nicht jeder einfach den namen eines anderen als sender angibt und so die jeweiligen nachrichten von ihm bekommt will ich dass ein registry eintrag mit dem namen gemacht wird nachdem überprüft wurde ob es die datei nicht schon gibt.(auf dem server)

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von gamer_08 ()

    • Es muss eine Möglichkeit geben, die Dateien aus einem Verzeichnis anzuzeigen.
      Ich kenne mich nicht mit der ftp.dll aus, ich weiß nur, wie das mein FTP-Programm macht:

      Quellcode

      1. CWD verzeichnis
      2. PWD
      3. PORT **wasweißich**
      4. LIST
      Dann müsstest du nur noch schauen, was da zurück kommt.
      ( Muss zugeben, dass ich eventuell kompletten Mist rede. Also 'tschuldigung für den Fall ... ^^ )
    • Ka... Ich weß nur dass ich ne andere bessere lösung des problemes abe was eigentlih nichts mit der fragestellung zu tun hat(anderer weg das zu erreichen was ich wollte)trozdem wüsste ich gerne wie ich dateien suche...(auf derm server|brauche die funktion nämlich dennoch)
    • KA ob das funzt, aber ein versuch ist das wert!
      Create event

      GML-Quellcode

      1. st=ds_stack_create() 

      Muss kein stack sein, aber ich glaube mehr brauchen wir nicht!

      Abrufevent

      GML-Quellcode

      1. ds_stack_push(st,ftp_file_find_first('\GM-files\*.txt',false))
      2. do
      3. {ds_stack_push(st,ftp_file_find_next())}
      4. until ftp_file_find_next()=0



      Zweifel: Nein, doch!, es könnte sein das er am ende der staks einen leeren wert nimmt! :D

      _____________________
      EDIT:
      Also, ich habe es ausprobiert! Ich hatte recht, es funkt nur fast. Alles prima bis auf die do schleife, die bleibt evig bei, warum? KA
      Ich habe sie einfach rausgenommen und es von selber ein paar mal wiederholt.

      Ach ja, wenn du dich fragst was mit dem stak anzufangen hast, z.B. im Draw event:

      GML-Quellcode

      1. z=0
      2. draw_text(x,y+(z*16),ds_stack_pop(st))
      3. z=1
      4. draw_text(x,y+(z*16),ds_stack_pop(st))
      5. z=2
      6. draw_text(x,y+(z*16),ds_stack_pop(st))
      7. z=3
      8. draw_text(x,y+(z*16),ds_stack_pop(st))

      Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von SDX ()

    • Ich weiß nicht ob das schon gelöst ist, aber mir fällt da gerade was ein...
      Könnte man nicht einfach mit der 39.dll auf eine php-Datei zugreifen, die dann nachprüft, ob die Datei vorhanden ist? Also zum Beispiel mit file_exists...

      "Is this one sloshing?"
      Four words you don't want to hear when you pick up a coffin...
    • Also am leichtesten wäre das mit php zu lösen in dem man diesen code benutzt:

      PHP-Quellcode

      1. <?php
      2. $add="";
      3. $dir=opendir("./");
      4. while($dir2=readdir($dir))
      5. {
      6. if(!is_dir($dir2))
      7. {
      8. $add=$add."<br>Datei:".$dir2;
      9. }
      10. else
      11. {
      12. $add="Ordner:".$dir2."<br>".$add;
      13. }
      14. }
      15. echo $add;
      16. ?>
      Alles anzeigen



      Jeder Ordner wird mit dem Prefix "Ordner" angezeigt
      Jede Datei eben mit "Datei:"...

      nun kann man auch | als trennzeichen benutzen und dann mittels Bottlenecks Script Pack die einzelnen segmente raus lesen
      anstat "Datei:" müsstest du dann aber "D|Dateiname|" verwenden und anstat "Ordner:" -> "O|Ordnername|"

      Dann im GM:

      GML-Quellcode

      1. income = "String den man durch den download der Datei erhält(ich verwende immer http.dll von kA steht nix dran xD)"
      2. i=0
      3. e=1
      4. while()
      5. {
      6. typ[i] = explode(income,"|",e) //<- typ der datei oder des ordners D= Datei O = Ordner
      7. ergebnis[i] = explode(income,"|",e+1) //<- name der datei oder des ordners
      8. e+=2
      9. i+=1
      10. }
      Alles anzeigen


      Auflisten sollte eig selbsterklärend sein

      Edit:Bei einzelnen Problemen oder von mir eingebatuten Syntaxfehlern PM zu mir
    • <?php
      $filename = $_GET['datei'];

      if (file_exists($filename)) {
      echo "true";
      } else {
      echo "false";
      }
      ?>

      Der Code ist Simpler und leichter zu verstehen. Er gibt true (als String) zurück wenn die als Get übergebene datei exsitiert. Aufgerufen wird so:
      (PHP-Datei durch den Namen der Datei ersetzen)

      PHP-Datei.php?datei=relativerpfad/zusuchendedatei.endung


      Viele Grüße, maxda
    • Prima gemacht. Es ging aber darum ein Verzeichnis auszulesen.

      Wenn du das Skript nicht verstehst: lern PHP. Du brauchst es aber nicht zu verstehen um es zu benutzen. Um es zu benutzen musst du es in eine PHP Datei schreiben und es mit der http.dll von Bl@cksp@rk oder der 39dll.dll aufrufen. Such einfach mal bei google danach, da findest du sicherlich ein Tutorial auf der GMC oder so.

      Es gibt nur ein Problem:
      Im GML Code brauchst du die Funktion explode: die gibt es nicht. Dafür brauchst du ein Skript (hier von copyboy):
      Spoiler anzeigen

      GML-Quellcode

      1. {
      2. __str = argument0;
      3. __trenn = argument1;
      4. __pos = argument2-1;
      5. repeat (__pos) {__str = string_replace(__str,__trenn,'°');}
      6. if (__pos >= 0)
      7. {
      8. __pos1 = string_pos(__trenn,__str)+1;
      9. __str = string_replace(__str,__trenn,'°');
      10. if (string_count(__trenn,__str) > 0)
      11. {__pos2 = string_pos(__trenn,__str);}
      12. else {__pos2 = string_length(__str)+1;}
      13. }
      14. else
      15. {
      16. __pos1 = 0;
      17. __pos2 = string_pos(__trenn,__str)-1;
      18. }
      19. __len = __pos2 - __pos1;
      20. __str = string_copy(__str,__pos1,__len);
      21. if (string_char_at(__str,0) = '~')
      22. {return real(string_copy(__str,2,__len-1));}
      23. else {return __str;}
      24. }
      Alles anzeigen