Forum Wiki Galerie Kontakt Wie man Fragen richtig stellt. Tutorial Forum
Zurück   GIMP-Forum 3.0 > Allgemeines > OFF-Topic

Hinweise
Alt 30.12.2007, 23:02   #1
Mefisto
Erfahrener Benutzer
 
Benutzerbild von Mefisto
 
Registriert seit: 29.01.2007
Ort: Kassel
Beiträge: 1.487
Standard Anwendung mit php starten

Hallo!

Ich weis, in letzter Zeit stell ich viele OT-Fragen, aber habe wohl zur Zeit mein kreatives Tief ... Hoffe, dass mir das neue Jahr mal wieder einige Ideen bringen wird ...

Egal, ich hoffe ihr könnt und wollt mir trotzdem Helfen Also ich habe mir als nächstes Projekt zum Coden ein Web-Computerprogramm als Ziel gesetzt, mit dem man den eigenen PC von einem anderen PC aus überwachen kann. Das ganze soll für Leute dienen, die ihren eigenen PC als Server zur verfügung stellen wollen. Das Programm soll in php sein und ein Unterordner des für das Web freigegebenen Verzeichnisses sein. Natürlich passwortgeschützt, da ja sonst jeder darauf zugreifen könnte. Nun zu meinem eigentlichen Problem: Nur mit Php komme ich da nicht sehr weit: Die Infos, die ich brauche, kann man zum Großteil nur mit einem auf dem PC ausführbarem Programm bewerkstelligen: In meinem Fall (soll für Windows sein) einer .exe-Datei. Es soll dann in etwa so funktionieren: php ruft das Programm auf und wartet einige Sekunden. Das Programm wird ausgeführt und liest z.B. CPU-Temperatur aus. Diese schreibt es in eine Datei und beendet sich wieder. Das ganze sollte nicht länger als 3-4 Sekunden dauern. Solange wartet das php-Script. Dann leitet es auf die eigentliche Seite weiter, die dann die Temperatur aus der Datei ausliest und anzeigt. Das ganze habe ich auch mal in einer Grafik im Anhang niedergebracht.

Nun ist das einzige Problem: Ist es möglich, über PHP eine .exe-Anwendung zu starten? Um Safe-Mode und sowas braucht man sich keine Gedanken machen, ist ja nur für eigene Server gedacht und da können ja sämtliche Servervariablen beliebig geändert werden. Danke schonmal für eure Hilfe

Jonathan
Angehängte Grafiken
Dateityp: jpg Werte auslesen.jpg (53,5 KB, 78x aufgerufen)
Mefisto ist offline   Mit Zitat antworten
Alt 31.12.2007, 00:26   #2
Madman-Maniac
Erfahrener Benutzer
 
Registriert seit: 24.05.2007
Ort: Bielefeld
Beiträge: 110
Standard

ähm.... eine PHP-Datei kann keine EXE aufrufen... Nur zum Download, aber das bringt nix...

Warum benutzt du nicht ganz einfach ein Remote-Control-Programm? und dazu Lavalys Everest Home Dann kannst du dir das PHP-Script sparen
__________________

Madman-Maniac ist offline   Mit Zitat antworten
Alt 31.12.2007, 00:37   #3
MichaJo
Erfahrener Benutzer
 
Benutzerbild von MichaJo
 
Registriert seit: 30.09.2005
Beiträge: 1.390
Standard

Aber Du könntest mit einer Art cron, Trigger, Semaphore, Flag etc. arbeiten.
Das heißt, Du hast auf Deinem Server einen (schlafenden) Dauerläufer,
der auf ein Ereignis wartet.
Das Ereignis kann zum Beispiel die Existenz einer Datei sein,
die Du ja mit php anlegen kannst.



Gruß

Micha
__________________
Galeriebild

Es ist nctihs so efnicah, dsas man es nhcit flasch mehacn knnöte.
MichaJo ist offline   Mit Zitat antworten
Alt 31.12.2007, 01:10   #4
Mefisto
Erfahrener Benutzer
 
Benutzerbild von Mefisto
 
Registriert seit: 29.01.2007
Ort: Kassel
Beiträge: 1.487
Standard

Verstehe, zum Beispiel ein Programm, dass ungefähr jede Sekunde überprüft, ob z.B. der Wert in einer Datei von 0 auf 1 geändert wird und dann ausgeführt wird... Daran hatte ich für den Notfall auch schon gedacht... Und es gibt sicher keine anderen Lösungen um das Programm direkt auszuführen? Bzw. eine bessere alternativ Lösung als die schon genannte?
Mefisto ist offline   Mit Zitat antworten
Alt 31.12.2007, 02:54   #5
Madman-Maniac
Erfahrener Benutzer
 
Registriert seit: 24.05.2007
Ort: Bielefeld
Beiträge: 110
Standard

Es ist nunmal einfacher, etwas auf dem Client auszuführen, was sich auf den Server auswirkt, als anders herum.
Hmmm... mit nem Trojaner würde es evtl. klappen ^^ Aber davon rate ich ab
Wäre ja noch schöner, wenn jeder von seinem Server aus unbemerkt auf den Clients Programme installieren und ausführen könnte.
Ja, ich weiß, du willst das nicht unbemerkt machen, aber vom Prinzip her ist's doch sehr ähnlich...
__________________

Madman-Maniac ist offline   Mit Zitat antworten
Alt 31.12.2007, 11:00   #6
Mefisto
Erfahrener Benutzer
 
Benutzerbild von Mefisto
 
Registriert seit: 29.01.2007
Ort: Kassel
Beiträge: 1.487
Standard

Nein, nein, du missverstehst mich. Ich will das Programm nicht auf dem Clientpc ausführen sondern auf dem Serverpc! Also Wenn ich meinen PC als Server freigebe, soll man von überall per Browser und Passwort diesen Serverpc verwalten können. Der Clientpc spielt im Grunde nur als "Fernbedienung" eine Rolle...
Mefisto ist offline   Mit Zitat antworten
Alt 31.12.2007, 11:25   #7
Aurgelmir
Erfahrener Benutzer
 
Benutzerbild von Aurgelmir
 
Registriert seit: 27.10.2006
Ort: Im Königreich Gelsenkirchen Im Herzen des Universums ,dem Ruhrpott
Beiträge: 637
Standard

also wenn ich sowas vpr hätte würde ich folgendes tun


die benötigten Programme die das was du da machen willst in java schreiben ...diese java datein kannst du nämlich tollerweise auch über php steuern

das wird denke ich auch mit die einzige möglichkeit sein den ansonsten müsstest du am source der jeweiligen orginal progs fuschen um die gewünschten daten auslesen zu können so das du sie weiterverarbeiten kannst ...und dann musst du die daten ja noch irgendwie verarbeiten und das größte prob wird der sourcecode bei diversen MS progs sein


mfg

PS du kannst das ja mal versuchen



<?
exec('do.bat');
?>



///////do.bat//////////
@ECHO OFF

set var= [daten von php übergeben??]

cd c:\programme\fop
fop -xml 1.xml -xsl template1.xslt -pdf %var%.pdf


cd c:\programme\imagemagick
convert %var%.pdf %var%.jpg
///////end//////////

ist zwar für ein anderes problem aber evtl lässt sich das ja umbasteln
__________________
Aurgelmir ist offline   Mit Zitat antworten
Alt 31.12.2007, 11:37   #8
faezzi
Erfahrener Benutzer
 
Benutzerbild von faezzi
 
Registriert seit: 04.09.2007
Beiträge: 316
Standard

Vielleicht versteh ich Dich gerade falsch, aber ist alles was Du erreichen willst, den Inhalt einer txt per php auszulesen? Das ansich ist ja nicht schwer zu bewerkstelligen. Und die exe, welche die Datei füllt kannst Du doch einfach laufen lassen. Die überschreibt alle 5 sec die alte und gut. Das sollte nicht all zu viel ressourcen fressen. Falls die originale exe das nicht kann kloppst Du Dir halt n kleines script zusammen, daß die exe alle 5 sec aufruft.

Und wenn es um richtige Fernsteuerung geht würd ich mir mal VNC ansehen oder logmein.com ...
faezzi ist offline   Mit Zitat antworten
Alt 31.12.2007, 12:25   #9
peter-seth
Erfahrener Benutzer
 
Registriert seit: 29.10.2007
Beiträge: 149
Standard

hallo Mefisto,

klar geht das, was du willst. einfach "exec" in php benutzen. details dazu in der online-hilfe: http://es2.php.net/manual/de/function.exec.php

aus den benutzerkommentaren zu der angegebenen seite geht hervor, dass das auch für windows funktioniert.


trotzdem halte ich die lösung mit dem cron-job (wie oben von Micha angeregt) für "besser" - du brauchst dann nämlich nicht "warten", bis das .exe-programm ausgeführt ist.

beispielsweise würdest du - sagen wir mal - alle halbe stunde das exe ausführen lassen. die datei mit den ergebnissen wird dann von deinem php-skript sofort gelesen und verarbeitet, ohne dass du warten musst.

damit sind deine ergebnisse immer höchstens eine halbe stunde alt. natürlich könntest du das auch alle 15 minuten oder so machen ...

unter windows benutzt du dafür die "aufgabenplanung" - allerdings habe ich eben beim testen auf meinem vista-system gesehen, dass man da als kleinstes intervall "täglich" einstellen kann ... das wäre für deine belange nicht das richtige ...

viel glück damit, peter.
__________________
GIMP 2.4.5 mit GAP 2.4.0 auf Win Vista - Wacom Graphire 1 Tablet
peter-seth ist offline   Mit Zitat antworten
Alt 31.12.2007, 17:38   #10
Mefisto
Erfahrener Benutzer
 
Benutzerbild von Mefisto
 
Registriert seit: 29.01.2007
Ort: Kassel
Beiträge: 1.487
Standard

So, nachdem ich mir über all eure Vorschläge hier Gedanken gemacht habe, habe ich ein denk ich fertiges Konzept auf die Beine gestellt. Es würde mich sehr freuen, wenn ihr mir eure Meinungen und Verbesserungsvorschläge unterbreiten könntet, damit ich dann in meinen verbleibenden zwei Wochen Ferien das Script auf die Beine stellen kann (durch das ganze Pogrammiergedingse werd ich mich wohl mehr schlecht als recht durchhangeln müssen ).

Zitat:
Der Benutzer tätigt auf der Seite in einer Art CMD bzw. (für alle Linux-Benutzer) Shell eine Eingabe. Diese Eingabe wird per PHP-Script in die Datei Befehl.txt gespeichert.
Auf dem PC überprüft eine Anwendung jede Sekunden, ob der Inhalt der Datei "Befehl.txt" ungleich "leer" ist. Sollte dies eintreten (was ja nach dem Speichern von PHP der Eingabe in dieser Datei logisch ist), liest die Anwendung den Text aus der Datei aus und überprüft, ob es sich dabei um einen validen Befehl handelt.
Durch diese Schritte wird effizient ein Befehl bzw. Text aus dem Client an die Anwendung auf dem Serverpc übergeben.
Im Fall, dass der Benutzer einen validen Befehl eingegeben hat, wird nun die mit diesem Befehl verknüpfte Funktion ausgeführt, wie z.B. das Auslesen der CPU-Temperatur. Diesen Wert schreibt die Anwendung nun in die Datei "Wert.txt".
Ein PHP-Script prüft ebenfalls jede Sekunde den Inhalt der Datei "Wert.txt". Sobald die Anwendung auf dem Serverpc mit der Aufgabe fertig ist und das Resultat in die Datei "Wert.txt" geschrieben hat, sollte dem zu folge das PHP-Script erkennen, dass die Datei "Wert.txt" nun einen Wert enthält und diesen Ausgeben.

Ein Anwendungsbeispiel (CPU-Temperatur):

Der Benutzer gibt "sv_cpu_temperature" ein. Dieser Wert wird mittels PHP in die Datei "Befehl.txt" geschrieben. Die Anwendung auf dem Serverpc erkennt in der sekündlichen Überprüfung, dass sich der Inhalt der Datei "Befehl.txt" geändert hat. Sie liest nun den Wert aus und überprüft, ob es sich um einen validen Befehl handelt. Es handelt sich hierbei um einen korrekt eingegebenen Befehl. Es wird also von der Anwendung die Temperatur des CPU ausgelesen. Nun schreibt diese diesen Wert in die Datei "Wert.txt". Das PHP-Script wartet seit der Benutzereingabe auf das Ergebnis der Anfrage, indem sekündlich der Inhalt der Datei "Wert.txt" überprüft wird. Nachdem die Anwendung auf dem Serverpc also die CPU-Temperatur in die "Wert.txt" geschrieben hat, erkennt das PHP-Script, dass nun ein Wert in der Datei steht und gibt diesen im Clientpc aus. Danach wird der Inhalt der "Wert.txt" vom PHP-Script gelöscht, um verwirrung bei der nächsten Befehlseingabe zu vermeiden.
So, das wars mit dem Konzept
Mefisto ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
PHP - Programmiersprache? Mefisto OFF-Topic 16 01.11.2007 13:26
PHP lernen - Wie? Und Co. omega OFF-Topic 12 28.04.2005 12:24


Alle Zeitangaben in WEZ +2. Es ist jetzt 13:41 Uhr.


Powered by vBulletin® Version 3.8.2 (Deutsch)
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.