Beiträge von Flowyes

    Flash ist ja mehr als genug versprechend und cool genug. Ob du's unbedingt brauchst ist eine andere Frage. Kommt ja drauf an, wie aufwändig das Ganze sein soll. Viellicht reichen nur gifs...

    Ich verwende tomcat 5. Das Problem ist folgendes:

    Meine Webapplikation hat eine Startseite index.html, wo sich eine <form> befindet und wenn diese Form submitted wird, wird ein Servlet aufgerufen. Dieses Servlet tut irgendwas und liefert eine html-Seite, die wieder eine Form hat. Jedes Mal wenn die Form ausgefüllt und geschickt wird, wird das Servlet aufgerufen...

    Die Form hat aber auch ein Reset-Button. Wenn dieses geklickt wird, will ich jetzt, dass das Servlet alle seine internen Variablen auf den Anfangszustand setzt und wieder index.html aufruft. Wie kann ich da vom Servlet aus index.html aufrufen, ohne dass ich eine extra Seite mit einem Link verwende? Geht das irgendwie, oder muss ich mir eine andere Lösung überlegen?

    danke.

    Du sollst bitte zuerst die FAQ zum posten von Code im Forum lesen und dein Posting editieren.

    Sonst machen sich die Leute nicht die Mühe das Posting zu lesen. (wollte auch helfen, hab aber nicht weitergelesen)

    Beschäftige mich schon wieder seit einer Weile mit folgendem Problem:

    Ich muss eine exe-Datei aus php aufrufen, die dann genau das tun sollte, was sie tut, wenn man den Befehl im shell ausführt. Dieses Programm nimmt 5 oder 6 Argumente, berechnet irgendwas und schreibt das in eine Datei dessen Namen ich auch als Argument beim Aufruf übergebe und gibt sonst nichts aus. Es passiert aber gar nichts wenn ich

    PHP
    shell_exec ("C:\\verzeichnis_vom_prog\\mein_prog.exe -arg1 bla -arg2 blabla");


    schreibe. Nach dieser Zeile wird auch nichts mehr ausgeführt (also echo "test"; liefert nichts). Die Pfadangaben, Dateinamen und so sind alle richtig. Ist die Funktion shell_exec() falsch vielleicht? Ich find nirgends eine Antwort. Woran könnte der Fehler liegen?
    (OS: windows, wie man vermuten kann)
    [edit]
    Hat sich schon erledigt. Leider komme ich erst jetzt drauf, dass ich ein obligatorisches Argument beim Aufruf vergesse :hewa:
    [/edit]

    creature: Es kommt doch kein anderer Wert raus, wenn ich so gleich hintereinander echo ausführe. Aber dieses Problem hab ich schon beseitigt. Ich glaube es hat mit ganz was anderem zu tun gehabt.
    mas: Diesen Fehler hab ich auch erkannt und ausgebessert. Aber ich kann noch immer nicht verhindern, dass der php-Interpreter abstürzt oder sich aufhängt.

    Ich glaube das liegt alles daran, dass ich die experimentellen Java-Extensions (für die es gar keine Garantie gibt, ob die funktionieren und keine gscheite Doku) in meinem php-Code benutze. Es gibt aber nämlich Java-Methoden, die ich aus php aufrufe, die mir diese arrays liefern. Der Java-Code braucht aber ziemlich lange (also für ein Array ungefähr 7 Sekunden oder so), denn er muss komplizierte Bildverarbeitungsprozeduren durchgehen. Jetzt schaut alles sauber aus in php, und schließlich meldet jvm interne Fehler (out of memory und dergleichen).

    Wenn ich diese arrays nicht aus Java nehme, sondern z.B. mit Zufallswerten initialisiere und ganz normal meinen php-script ausführe, terminiert alles in Sekunden.

    Ich muss alles nach Java portieren und hoffe, dass dort alles passt. Danke für die Hilfe!

    Das ist viel sauberer und hilft schon mal ein wenig. Ist es aber möglich, dass ein echo statement einen Wert ändern kann? Bei mir ist es nämlich jetzt so. Im obigen Beispiel bekommt $my_array[0] einen neuen Wert, wenn ich es mit echo ausgebe. Nach dem echo hat es einen neuen Wert auf einmal. Wenn ich das echo auskommentiere, dann bleibt der alte Wert.
    Genauer gesagt:

    Wenn ich kein echo hab:


    Wenn ich echo hab:


    Und dieses echo ist der einzige Unterschied zwischen beiden Codeteilen. Wie gibt's so was?

    vielleicht hab ich hier einen Fehler, was meint ihr:

    PHP
    // $my_array[0] hat den Wert 8;
    $sum_p = 0;
    for ($n=0;$my_array[$n]!=-1;$n+=4) {
       $sum_p +=  ($my_array[$n]*$my_array[$n]);
    }
    // jetzt hat $my_array[0] einfach keinen Wert oder zufällig einen Wert,
    // also jedes Mal anders. Aber alle anderen Indizes [1][2]... haben die
    // richtigen Werte. Das array sollte immer um 4 Stellen weitergehen, bis
    // -1 kommt. wenn -1 kommt, dann wird die for-schleife verlassen.
    // bei einigen array gibts gar kein Problem, bei anderen doch.


    Ist vielleicht im obigen Code irgendwas schlecht?

    Ich blick gar nicht mehr durch.
    Meinen Code könnt ich auch posten, aber ich bin mir sicher, dass weder am Syntax noch sonst wo ein Fehler liegt. Das Problem ist, dass alles perfekt funktioniert, außer wenn ich an bestimmten Stellen ein echo statement hinzufüge. Wenn ich das mache, dann friert alles, php.exe verbraucht 99 % der Rechenkapazität und ich muss den Prozess killen. Oder krieg ich einfach die Meldung, dass der php-Interpreter etwas ungültiges gemacht hat und beendet wird. Kommentiere ich dieses echo wieder aus, terminiert das Programm zumindest.
    Das ist die Zeile:

    PHP
    echo "my_array[0]: $my_array[0]";

    Dieses my_array[0] hat am Anfang den Wert 8, und irgendwo bekommt es den Wert 0 (ich kann eben nicht feststellen wo), obwohl ich zu diesem array wirklich nirgends irgendeinen Wert zuweise. Es müsste immer 8 bleiben!

    Hätte jemand eine Idee, was dahinter stecken könnte? Vielleicht hat jemand auch so ein ähnliches Problem gehabt...

    Ich hab ein Verzeichnis, wo mehrere hundert jpeg-Bilder gespeichert sind, die die Namen 1.jpg, 2.jpg, 3.jpg usw... haben. Diese entsprechen den Frames in einem Video und ihre Reihenfolge muss deswegen erhalten bleiben.

    Ich will alle diese Dateien in ein Array schreiben, und mit diesem Array was machen. Ich hab dafür folgende Funktion:

    Ich will dann in einer anderen Funktion auf dieses Array sequenziell zugreifen:

    PHP
    // ...
    
    
    $frames = get_frames($dir);
      for ($i=2;$i<count($frames);$i++) {
    	 // tu irgendwas mit $frames[$i] ...
      }
    // ...

    Das Problem ist das das frames-Array so aussschaut:
    $frames: {
    [0] => 1.jpg
    [1] => 10.jpg
    [2] => 100.jpg
    [3] => 101.jpg
    [4] => 102.jpg
    ...
    }
    Die Reihenfolge bleibt also nicht erhalten. Wie kann ich es schaffen, dass die Dateien in der Reihenfolge ins Array eingetragen werden, wie ich es haben will?

    Außer dass man den Ausdruck := (Strecke, die der Text zurücklegt / fps) kleiner macht wird man glaub ich nicht viel erreichen, ich wüsste nicht wie.

    Für tutorials tust du am besten googlen. Es gibt ja unzählig gute. Kommt auch drauf an, womit du dich beschäftigst (Animation, Spiel, Webdesign ...)

    Ich muss in Java folgendes implementieren und weiß im Moment nicht, wie ich das überhaupt angehe:

    Als input habe ich eine Videodatei. Nun sollen aus dieser Datei die einzelnen Frames (oder nur in einem bestimmten Intervall ausgewählten "keyframes") extrahiert und in java.awt.Image-Objekte umgewandelt werden, die ich dann in bereits bestehenden Prozeduren weiterverarbeiten werde. Diese frames werden also nicht als Bilder gespeichert oder so.

    Mit JMF kann ich das eigentlich machen. Hier ist sogar ein Codestück, das man verwenden kann; man braucht es nur modifizieren:
    http://java.sun.com/products/java-…ess.html#source
    Das Problem hier ist nur, dass das ganze Processing genau so lang dauert, wie das Video selbst (ich hab ja nicht viel Lust eine halbe Stunde zu warten).
    Meine erste Frage ist: Kann man überhaupt die framerate ändern oder so, dass es schneller geht?
    Wenn es mit JMF nicht geht (ich brauch ja nur die Daten herauslesen und nicht das Video wiedergeben) könnte ich das irgendwie mit den javax.imageio.* Klassen machen? Wenn ja, wie?

    Könnte jemand einen sehr groben Algorithmus oder Gedankenstoß geben, falls ich auf primitivere Methoden angewiesen bin? Ich finde nämlich überhaupt keine Information dazu ...

    Ich hab nicht ganz verstanden, wie du meinst, mit 2 Bereichen. Da ist ein Bereich, der mit [JAVA] anfängt, der ganz am Anfang noch kommentiert war. Ich hab diesen Teil auskommentiert, und gemäß meiner Verzeichnishierarchie modifiziert. Ich bin sogar von jdk1.5.1 auf jdk1.3.1 umgestiegen, weil ich irgendwo gelesen hab, dass es mit jdk > 1.3.x vielleicht Kompatibilitätsprobleme geben kann, aber nein. Der Fehler bleibt der gleiche...

    edit: das hatte ich noch geschrieben, bevor du editiert hast :)

    edit2: jetzt gehts!! ich geh stark davon aus, dass jdk1.5.1 die Probleme verursacht hat. Außerdem muss ich die paths unbedingt absolut angeben glaub ich und semicolons nicht vergessen (obwohl ich öfters gelesen hab, dass es anders auch geht). Na ja zumindest funktionierts jetzt mal. Trotz mysteriösen Fehlermeldungen wie "insecure options" oder so. Aber es steht im PHP-Manual sowieso, dass man diese java-extensions auf eigene Gefahr benutzen soll.
    Danke für eure Hilfe!

    Ich bin echt verzweifelt. Wäre soo dankbar, wenn mir jemand helfen kann.

    Ich werde die PHP extensions für Java verwenden (also aus PHP Java verwenden) und habe einen Apache Server auf dem lokalen Rechner. Und ich brings seit mehr als 5 Stunden jetzt nicht zusammen. Ich kann Apache nicht so konfigurieren, dass PHP mit den java extensions (php_java.dll) arbeitet. OS: windows.

    Ich muss etwas unter php.ini verändern, das sich im Apache-Verzeichnis befindet. Ich kommentiere also extension=php_java.dll aus. Okay, dann gibts dort einbisschen weiter unten einen Teil, der mit [JAVA] beginnt. Die Einträge sind:

    java.class.path
    java.home
    java.library
    java.library.path

    Die setze ich auch alle richtig. Unter java.class.path hab ich z.B.
    c:\php\php-4.3.9-Win32\extensions\php_java.jar
    Dort gibt's auch tatsächlich die Datei php_java.jar.
    Apache neu starten erzeugt keine Fehlermeldungen und wenn ich phpinfo() aufrufe, dann seh ich einen Teil mit Java und diese obigen Parameter, die ich ins config-file eingetragen hab aufgelistet. Also müsste es funktionieren (in den diversesten Foren schafft es auch jeder nach diesem Schritt Java zum Laufen zu bringen) Nur ein kleiner Test:

    PHP
    <?php
    
      $systemInfo = new Java("java.lang.System");
      echo "Total seconds since January 1, 1970: 
      ".$systemInfo->currentTimeMillis();
    
      ?>


    ergibt die Fehlermeldung, cannot instantiate non-existing class. Offensichtlich wird Java nicht erkannt. Außerdem bringt dieser kurze, aber böse Code den ganzen Apache-Server zum Absturz, jedes Mal wenn ich es mit meinem Browser teste. Was mach ich falsch? Google hat schon lang ausgedient...