Aus Java-Applets heraus in Dateien schreiben: Unterschied zwischen den Versionen

Aus Byte-Welt Wiki
Zur Navigation springenZur Suche springen
K
K
Zeile 64: Zeile 64:
  
 
So, hoffe das hilft irgend jemandem mal weiter  :D
 
So, hoffe das hilft irgend jemandem mal weiter  :D
 +
 +
[[Benutzer:bullzEye|bullzEye]]

Version vom 25. Januar 2014, 17:10 Uhr


Problem: Wie kann ich etwas von einem Applet aus (welches nicht signiert ist) in eine Datei schreiben?

Meine Lösung ( mit Anregung von Bleiglanz und Grizzly :D ) :

Der Java-Quellcode von applet.class: <code=java> import java.applet.*; import java.net.*; import java.awt.*; import java.awt.event.*;

public class Schreiben extends Applet implements ActionListener {

 // Variablen
 private TextField tf;
 private Button bu;
 public void init() {
   setLayout(new BorderLayout());
   // Komponenten
   tf = new TextField();
   bu = new Button("schreiben");
   bu.addActionListener(this);
   this.add(tf, BorderLayout.CENTER);
   this.add(bu, BorderLayout.SOUTH);
 }
 // Ergeignisse
 public void actionPerformed(ActionEvent aevt) {
   try {
     URL home = getCodeBase();
     String url = home.toString()+"php.php?var1="+tf.getText();
     getAppletContext().showDocument(new URL(url));
   } catch(Exception x) {}
 }

} </code=java>

Der PHP-Quellcode von php.php: <code=php> <APPLET CODE="Schreiben.class" WIDTH="600" HEIGHT="450"> <?php

 $var1 = $_GET['var1'];
 $datei = fopen("datei.txt", "a");
 fputs($datei, $var1);
 fclose($datei);

?> </code=php>

Im obigen Applet wird - - mit URL home = getCodeBase(); das Verzeichnis des Applets herausgefunden. - ein String erzeugt wo home in eine String geparst wird, der Name des PHP-Scripts angegeben wird, welches geladen werden soll, der Text aus dem Textfeld geholt und an die URL des PHP-Scripts angehängt.

Im PHP-Script werden die Variablen einfach mit der Methode $HTTP_GET_VARS reingeholt und könne dann weiter verarbeitet werden.

So, hoffe das hilft irgend jemandem mal weiter :D

bullzEye