• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Überprüfen ob ein Programm installiert ist (Teamspeak)

Status
Für weitere Antworten geschlossen.

Frank

Neues Mitglied
Hi,
gibt es eine Möglichkeit, zu überprüfen, ob ein bestimmtes Programm installiert ist?

Ich dachte da an exec() oder so.
Allerdings weiß ich nicht genau wie und vorallem nicht, wie ich es machen soll, damit es für Teamspeak2 funktioniert.

Ich müsste also den wert true oder false zurück bekommen bei der abfrage ob ts2 installiert ist oder nicht
 
Werbung:
also mit dem linux komando which kannst du dir den install-pfad
angeben lassen was aber nicht immer funktioniert. Vielleicht
kannst du mittels shell_exec('which teamspeak') es herausfinden ;)
 
willst du herausfinden, ob das Programm beim Besucher,oder auf dem Server bzw einem anderem Server installiert ist?
 
Werbung:
Ich möchte herausfinden ob das programm beim clienten (also besucher) vorhanden ist, damit ich das programm zum beispiel per Teamspeak://....
starten kann, wenn es da ist.

Das ganze ist dazu gedacht, dass ich nicht das programm aufrufe, wenn es nicht da ist - um zu vermeiden, dass im Internet Explorer "Seite kann nicht angezeigt werden" zu vermeiden.

Wofür ich es brauceh: www.tsbox.de.vu (funktioniert schon, will ich halt nur verbessern

[EDIT]
Sozusagen um eine if bedingung zu bauen:
Code:
... 
abfrage ob programm "teamspeak" da..
if ($Programmvorhanden == false)
{}
if ($programmvorhanden == true)
{
starten des programmes
}

hoffe ihr versteht was ich meine :oops:
 
das kannst du sehr sehr sehr sicher vergessen

MOVED: Sonstiges - nur mit PHP afaik nicht möglich (niklasboelter)
 
Ich würd sagen Close, da ich nicht glaube, dass er sich gut genug mit anderen Script/Programmiersprachen auskennt. Is aber nur ne These!
Allerdings:
Ist das überhaupt realisierbar? Welche Scriptsprache würde das denn schaffen?
Das is doch (imo) eine riesen sicherheitslücke, oder?
 
Werbung:
naja man müsste vmtl einen trojaner installieren oder sowas ;)
 
hmpf naja das mit den anderen scriptsprachen stimmt schon... :lol:

Naja dass is schade, hatte mitlerweile auch schon ne andere Idee, aber ich glaube dass das auch nicht realisierbar ist.

Hier meine Idee.

Hab gelesen, dass man mit php externe Programme starten kann, und ein Rückgabewert erhalten kann.
Kann man nicht einfach so die Windows-Suche starten und gucken ob man ein Ergebnis der Suche nach dem Wort "Temaspeak" zurückbekommt?

Naja ich erwarte nich dass das geht, wär aber cool... ^^
 
Werbung:
jetz stell ich dir mal eine Frage und du sagst mir dann, warum du nach niklas 1. Post es aufgeben hättest können, nach Phplösungen zu fragen:
Wie willst du mir PHP auf irgendwas beim Clienten zugreifen, wenn PHP - bevor die Ausgaben des PHP Skripts zum Clienten geschickt - auf dem Server durch den PHP-Interpreter geschickt und dort verarbeitet werden?
 
deswegen:

Externes Programm mit PHP ausführen
Mit Hilfe von PHP können Sie auch externe Programme ausführen und deren Rückgabewerte verarbeiten.

Das folgende Beispiel zeigt, wie mit der Funktion exec(...) ein Ping an web.de gesendet wird. Im Erfolgsfall ist der Rückgabestatus 0, im Fehlerfall 1.
Quellcode

1.
<?php
2.

3.
$Meldung = exec("ping -n 1 web.de", $RueckgabeProgramm, $RueckgabeStatus);
4.

5.
echo$Meldung,
6.
"

";
7.

8.
if($RueckgabeStatus == 0)
9.
{
10.
echo"<font color=\"green\">Ping erfolgreich</font>";
11.
}
12.
else
13.
{
14.
echo"<font color=\"red\">Ping nicht erfolgreich</font>";
15.
}
16.

17.
?>

In der Variablen $Meldung steht die letzte Ausgabe des aufgerufenen Programmes, RueckgabeProgramm ist ein Array gefüllt mit den vom Programm zurückgegebenen Ergebnissen.
Benötigen Sie letzteres nicht, können Sie statt der Funktion exec(...) auch die Funktion passthru(...) benutzen, die nur den Befehl übernimmt und nichts zurückgibt.
 
exec("ping -n 1 web.de", $RueckgabeProgramm, $RueckgabeStatus); <-- das is eine Url bzw ein anderer Server, das geht schon..
Willst du deinen clienten per
exec("ping -n 1 client.de", $RueckgabeProgramm, $RueckgabeStatus); anpingen?
Und wenn dus per Ip versuchen willst:
Lass es, das funzt nicht, da die meisten heutzutage hinter einem Router mit Firewall sind.
 
Werbung:
und selbst wenn es gehen wuerde (was schon schwachsinn waere) wie willst du
bitteschoen auf einem Linux-Rechner die Windows-Suche starten ;)

Dies muesstest du dann auch noch unterscheiden
 
Du könntest den Benutzer über einen kleinen Textabsatz in Strong-Tag darauf hinweisen das er zum benutzten dieses Links/der Seite TeamSpeak installieren muss. Dabei gibst du ihm auch noch einen Link damit er es sich herunterladen kann und die Sache hat sich. Was diskutiert ihr eigentlich noch? Es geht nicht baste.
 
noch einmal in aller deutlichkeit: exec() ruft eine shell AUF DEM SERVER auf. Wenn PHP fertig ist wird reines HTML an den Clienten gesendet der nun möglicherweise ein TS programm hat - dies kann man aber nicht über den server rausfinden ohne den Clienten zu kompromittieren. [Trojaner/Backdoor/Virus]
 
Werbung:
Status
Für weitere Antworten geschlossen.
Zurück
Oben