PHP in Delphi
Hallo Leute,
ich wollte euch mal Fragen, wie man einen PHP-Code in einen Indy HTTP-Server hochläd. Um einen HTTP-Code habe ich so eine Anweisung benutzt.
Delphi-Quellcode:
Und wie Funktioniert dieses bei einen PHP-Code?
Var
Stream: TFilestream; TheString : String; begin if ARequestInfo.Document = '/' then begin AResponseInfo.ContentType := 'text/html'; IF fileexists('index.html') = true then ARequestInfo.Document := 'index.html'; Stream := TfileStream.Create('Login/index.html', fmOpenRead or fmShareDenyWrite ); AResponseInfo.ContentStream := Stream; setlength(TheString, stream.size); stream.Read(TheString[1], stream.size); end; „AResponseInfo.ContentType := 'php';“??? |
AW: PHP in Delphi
Mir ist nicht ganz klar, was du machen willst :|
Du programmierst einen HTTP-Server mit Indy-Komponenten. Du benutzt den oben gezeigten Code um HTML-Code an z.B. einen anfragenden Browser zu übermitteln. Was willst du nun tun:
|
AW: PHP in Delphi
Zitat:
Zu deinem Problem: PHP-Code <> HTML. Das heißt für dich: Wenn dein Server die Anfrage für eine PHP-Datei bekommt, sollte er sie normalerweise über php.exe (/usr/bin/php) ausführen lassen. Die Anwendung liefert dann das zurück, was der HTTP-Server an den Browser schicken soll. Zu den Begriffen: Ein Server sendet (ist einfacher als "ein Server lädt hoch"). Im allgemeinen Sprachgebrauch ist der Upload die Verbindung Client -> Server und nicht umgekehrt. Das nennt man dann Download. Der Content-Type sollte auch von PHP gesetzt werden. Wenn nicht ist er "text/html". Wenn ich mir so deinen Code so ansehe, würde ich mal so ganz nebenbei einen Tipp geben: XAMPP. Da ist das alles schon drin und der Apache macht das alles für dich ohne großen Aufwand. Bernhard |
AW: PHP in Delphi
Kannst du bitte schreiben, was ich in die Procedure reinschreiben soll.
Ich verstehe das nicht. Wie soll ich die PHP.exe ansprechen?:?: |
AW: PHP in Delphi
Du müßtest die php.exe aufrufen, dieser über StdIn die nötigen Parameter übergeben und dann deren StdOut abfangen und dieses versenden.
Siehe CreateProcess für die Umleitung der StdIn und StdOut. Auf http://php.net/ solltest du irgendwo finden, wie man die php.exe ansteuert. |
AW: PHP in Delphi
???
|
AW: PHP in Delphi
Kann jemand bitte bitte ein Beispiel posten, wie man den Code :
Code:
hochläd.
<?php
echo "Hallo Welt"; ?> |
AW: PHP in Delphi
nochmal: Du sendest mit deinem Server einen Text. Diesen Text liefert dir die php.exe . Du musst also ermitteln, ob
a) die aufgerufene Datei existiert, b) die aufgerufene Datei eine PHP-Datei ist, c) wo die php.exe liegt. Wenn du die drei Punkte hast, kannst du weitermachen. Vorerst versuche etwas anderes: Starte die Kommandozeile (Eingabeaufforderung / CMD) und rufe die php.exe auf (als einzigen Parameter verwendest du den Pfad zu deinem Hallo-Welt-Skript. Dann sollte die Ausgabe in der Konsole sein: "Hallo Welt". Bis das erreicht ist, brauchst du dich gar nicht mit etwas anderem herumzuschlagen. Zitat:
Bernhard |
AW: PHP in Delphi
Danke, wenn ich Fragen habe erkunde ich mich hier nochmal.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:08 Uhr. |
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