![]() |
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: ![]() 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 ![]() Auf ![]() |
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 04:53 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz