Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi PHP Funktion aus Delphi aufrufen? (https://www.delphipraxis.net/64160-php-funktion-aus-delphi-aufrufen.html)

Angel4585 28. Feb 2006 11:14


PHP Funktion aus Delphi aufrufen?
 
Hallo zusammen,

ich habe ein php Skript mit folgendem Inhalt:
Code:
<?php

function Test($test){
  While(0){
      if (File_exists($test)){
        unlink($test);
        }
     }
  }
?>
jetzt möchte ich das ganze aus einem Delphiprogramm aufrufen

Das sollte dann etwa so aussehen:
Delphi-Quellcode:
ExecutePHP('http://localhost/Test/Test.php','Test(''C:\Test.txt'')');
Weis jemand von euch wie ich sowas mache/wie die Funktion ExecutePHP aussehen muss?

Wäre echt Klasse

Danke schonmal

MfG :angel:

glkgereon 28. Feb 2006 11:21

Re: PHP Funktion aus Delphi aufrufen?
 
Einzige möglichkeit die ich da sehe, ausser einem eigenen PHP-Parser:

mach dir ein script, welche die function mit übergebenen parametern aufruft und das ergebnis zurückgibt.

dann machst du sowas:

Delphi-Quellcode:
Res:=IdHTTP1.Get('http://localhost/Test.function.php?test=hallo');
@aenogym:
ich war schneller :-P
aber du ausführlicher :?

Aenogym 28. Feb 2006 11:24

Re: PHP Funktion aus Delphi aufrufen?
 
hi martin,

schriebe in deine PHP-datei foglendes:

Code:
if (isset($_GET['run']) and isset($_GET['arg']) {
  switch ($_GET['run']) {
    case "test": Test($_GET['arg']);
      break;
    //an dieser stelle ist platz für weitere case-labels, die andere funktionen aufrufen können
  }
}
dann packst du dir in deine delphi-anwendung zB. ein TIdHTTP (oder eine andere HTTP-komponente) und rufst dein script folgendermaßen auf:

http://localhost/Test/Test.php?run=f...e&arg=argument

aeno

edit: ich war zu lahm, aber poste es trotzdem ;)

[edit=alcaeus]Ne, PHP Tags haben wir nicht *g* Mfg, alcaeus[/edit]

malo 28. Feb 2006 11:26

Re: PHP Funktion aus Delphi aufrufen?
 
Du müsstest du PHP-Datei etwa so aufrufen:
Delphi-Quellcode:
ShellExecute(handle, 'open', 'http://localhost/Test/Test.php?function=Test&param=datei', nil, '', SW_SHOW);
Sitchwort: Bei Google suchenPHP Parameter
Dann kannst du in der PHP-Datei alles einzeln abfragen, mit Hilfe von $_GET ;)

//edit: :shock: Habt ihr keine Schule/Arbeit/Studium? :gruebel:

mkinzler 28. Feb 2006 11:44

Re: PHP Funktion aus Delphi aufrufen?
 
Es gibt auch Komponenten für Delphi, welche mit PHP interagieren. das Paket heißt PHP4Delphi und ist bei Sf.net erhältlich.

Angel4585 28. Feb 2006 12:19

Re: PHP Funktion aus Delphi aufrufen?
 
OKOKOKOK.. funktioniert... und wie halte ich das Genze wieder an? Hab ne Endlosschleife die immer die selbe Datei löscht.. wenn ich sie neue anlegen wird sie gleich gelöscht... negativer nebeneffekt.. aber ich weis jetzt das ich das machen kann was ich wollte... nur wie hört das jetzt wieder auf?

SirThornberry 28. Feb 2006 12:20

Re: PHP Funktion aus Delphi aufrufen?
 
eine Endlosschleife? das ist nicht dein Ernst? ruf doch in diesem Fall lieber die PHP-Funktion mehrfach auf. PHP ist nicht als scriptsprache für dauerhafte Verbindungen gedacht.

Phoenix 28. Feb 2006 12:25

Re: PHP Funktion aus Delphi aufrufen?
 
Alternativ dazu kannst Du auch den installierten php-Interpreter (also die php.exe) direkt ber Shellexecute aufrufen, die PHP-Datei als Parameter übergeben und die Rückgabe ist direkt das Ergebnis.

generic 28. Feb 2006 12:33

Re: PHP Funktion aus Delphi aufrufen?
 
^ es muss nicht die exe sein. du kannst den interpreter auch per dll einbinden.

aber wie oben schon stand: php4delphi!

Angel4585 28. Feb 2006 12:45

Re: PHP Funktion aus Delphi aufrufen?
 
moment... Ziel von dem Gannzen ist am ende ein Online RPG mit einem Client(dem Spiel an sich) zum runterladen, welches sich mit dem Server verbindet und die ganzen Skripte und Funktionen aufruft um die Daten in dem Programm anzeigen zu lassen. Da ich nur Webspace habe brauche ich eben ein php Skript.
Dieses Skript schreibt dann Daten in eine MySQL Datenbank, welche dann wiederum vom Programm aus gelesen werden. Da ein Quest auch stattfinden kann wenn kein Client angemeldet ist muss das Skript ja in einer Schleife immerwieder abfragen ob denn jetzt der Zeitpunkt gekommen ist und der Quest ausgeführt werden kann. Einwände? Oder mach ich das richtig so?


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:22 Uhr.
Seite 1 von 3  1 23      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz