Aus Java-Applets heraus in Dateien schreiben
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