Seite 1 von 2

PHP verarbeiten?

Verfasst: 09.08.2005 12:08
von Blackskyliner
Hi ich wollt mal fragen wie ich PHP ausführe und verarbeite.
Danke für jede Hilfe

Verfasst: 09.08.2005 12:09
von Green Snake
sorry, das ich dir nicht helfen kann, aber.....was hat das im anfänger pb forum zu suchen? :?

Verfasst: 09.08.2005 12:15
von DarkDragon
Green Snake hat geschrieben:sorry, das ich dir nicht helfen kann, aber.....was hat das im anfänger pb forum zu suchen? :?
Weil er nichtmal gut genug beschreiben kann was für ein problem er hat ;) . PHP bekommst du von php.net.

Verfasst: 09.08.2005 12:27
von Blackskyliner
DarkDragon hat geschrieben:
Green Snake hat geschrieben:sorry, das ich dir nicht helfen kann, aber.....was hat das im anfänger pb forum zu suchen? :?
Weil er nichtmal gut genug beschreiben kann was für ein problem er hat ;) . PHP bekommst du von php.net.
Das meinte ich nicht DD....
Ich meinte:
Wie kann ich über PB ein PHP Scriptausführen und dieses dann im PB Script verarbeiten.

Ich kann mir vorstellen mit RunProgramm() einigen komandozeilenparametern dran und das in ne variable oder so... aber ich wüsste ja noch nichma was php.exe zurückgibt.... html?

EDIT:
Green Snake hat geschrieben:sorry, das ich dir nicht helfen kann, aber.....was hat das im anfänger pb forum zu suchen? :?
Weil ich noch Anfänger bin :D ich mach erst seit 1-2 Wochen PB

Verfasst: 09.08.2005 12:35
von DarkDragon
Blackskyliner hat geschrieben:
DarkDragon hat geschrieben:
Green Snake hat geschrieben:sorry, das ich dir nicht helfen kann, aber.....was hat das im anfänger pb forum zu suchen? :?
Weil er nichtmal gut genug beschreiben kann was für ein problem er hat ;) . PHP bekommst du von php.net.
Das meinte ich nicht DD....
Ich meinte:
Wie kann ich über PB ein PHP Scriptausführen und dieses dann im PB Script verarbeiten.

Ich kann mir vorstellen mit RunProgramm() einigen komandozeilenparametern dran und das in ne variable oder so... aber ich wüsste ja noch nichma was php.exe zurückgibt.... html?

EDIT:
Green Snake hat geschrieben:sorry, das ich dir nicht helfen kann, aber.....was hat das im anfänger pb forum zu suchen? :?
Weil ich noch Anfänger bin :D ich mach erst seit 1-2 Wochen PB
PureBASIC ist und bleibt keine Scriptsprache(Es gibt nur codes, keine Scripts), also keine die man wärend der laufzeit einfach so bearbeiten kann. Du musst php.exe nutzen, die du auf php.net sicherlich findest. Ein PHP Script kann man auch ohne "Runtimes" nicht einfach so ausführen. Die php.exe macht alles für dich, das gibt dir html und alles zurück, musst halt mal suchen bei google oder php.net oder was weis ich noch wo. Es gibt bestimmt ne dokumentation zum PHP Compiler.

Verfasst: 09.08.2005 12:47
von Blackskyliner
DarkDragon hat geschrieben:
Blackskyliner hat geschrieben:
DarkDragon hat geschrieben: Weil er nichtmal gut genug beschreiben kann was für ein problem er hat ;) . PHP bekommst du von php.net.
Das meinte ich nicht DD....
Ich meinte:
Wie kann ich über PB ein PHP Scriptausführen und dieses dann im PB Script verarbeiten.

Ich kann mir vorstellen mit RunProgramm() einigen komandozeilenparametern dran und das in ne variable oder so... aber ich wüsste ja noch nichma was php.exe zurückgibt.... html?

EDIT:
Green Snake hat geschrieben:sorry, das ich dir nicht helfen kann, aber.....was hat das im anfänger pb forum zu suchen? :?
Weil ich noch Anfänger bin :D ich mach erst seit 1-2 Wochen PB
PureBASIC ist und bleibt keine Scriptsprache(Es gibt nur codes, keine Scripts), also keine die man wärend der laufzeit einfach so bearbeiten kann. Du musst php.exe nutzen, die du auf php.net sicherlich findest. Ein PHP Script kann man auch ohne "Runtimes" nicht einfach so ausführen. Die php.exe macht alles für dich, das gibt dir html und alles zurück, musst halt mal suchen bei google oder php.net oder was weis ich noch wo. Es gibt bestimmt ne dokumentation zum PHP Compiler.
Geile Antwort das hat mir jetzt sowas von überhaupt nicht wetergeholfen ich bin begeistert!

Verfasst: 09.08.2005 12:51
von DarkDragon
Blackskyliner hat geschrieben:Geile Antwort das hat mir jetzt sowas von überhaupt nicht wetergeholfen ich bin begeistert!
Ja, nun weißt du dass du es nichtmehr mit scripts zu tun hast, außer mit dem PHP Zeug. Ich bin grad mal am runterladen von PHP, dann werd ich mal schauen ob da nicht ne dokumentation drin ist.

Verfasst: 09.08.2005 12:52
von Blackskyliner
Hab es geschafft *nachdenk* warscheinlich!

Code: Alles auswählen

PhpOutput.l = AllocateMemory(4096) ;
Debug Execute("c:\php\php.exe", "-f C:\hallo.php", "", PhpOutput, 7);
Debug PeekS(PhpOutput)
Mit da CGI Libary

Verfasst: 09.08.2005 13:12
von Blackskyliner
Hab damit doch noch einige kleine probleme..... der ignoriert z.b. alles ausserhalb der PHP tags <?php und ?> alles was ausserhalb ist wird ignoriert von der exe..... fazit ich müsste das irgendwie mittig splitten also alles zwischen den tags auslesen, parsen und dann wieder einfügen... aber wie?

Verfasst: 09.08.2005 13:18
von DarkDragon
Blackskyliner hat geschrieben:Hab es geschafft *nachdenk* warscheinlich!

Code: Alles auswählen

PhpOutput.l = AllocateMemory(4096) ;
Debug Execute("c:\php\php.exe", "-f C:\hallo.php", "", PhpOutput, 7);
Debug PeekS(PhpOutput)
Mit da CGI Libary
Hab ich auch gerade rausgefunden, allerdings ohne CGI Library.

Code: Alles auswählen

Structure MySTARTUPINFO 
  cb.l 
  lpReserved.l 
  lpDesktop.l 
  lpTitle.l 
  dwX.l 
  dwY.l 
  dwXSize.l 
  dwYSize.l 
  dwXCountChars.l 
  dwYCountChars.l 
  dwFillAttribute.l 
  dwFlags.l 
  wShowWindow.w 
  cbReserved2.w 
  lpReserved2.l 
  hStdInput.l 
  hStdOutput.l 
  hStdError.l 
EndStructure 

Procedure.s RunGetOutput(Datei.s)
  
  Protected ret.l, hReadPipe.l, hWritePipe.l, lngBytesread.l
  Protected proc.PROCESS_INFORMATION, start.MySTARTUPINFO, sa.SECURITY_ATTRIBUTES 
  Protected strBuff.s
  
  strBuff.s=Space(256)
  
  #NORMAL_PRIORITY_CLASS = $20 
  #STARTF_USESTDHANDLES = $100 
  #STARTF_USESHOWWINDOW = $1 
  
  ;Create the Pipe 
  sa\nLength              = SizeOf(SECURITY_ATTRIBUTES)
  sa\bInheritHandle       = 1 
  sa\lpSecurityDescriptor = 0 
  ret = CreatePipe_(@hReadPipe, @hWritePipe, @sa, 0) 
  If ret = 0 
    MessageRequester("info", "CreatePipe failed. Error: ",0) 
    End 
  EndIf 
  
  
  start\cb = SizeOf(MySTARTUPINFO) 
  start\dwFlags = #STARTF_USESHOWWINDOW | #STARTF_USESTDHANDLES 
  
  ; set the StdOutput And the StdError output To the same Write Pipe handle 
  start\hStdOutput  = hWritePipe 
  start\hStdError   = hWritePipe 
  
  ; Execute the command 
  ret = CreateProcess_(0, "C:\Downloads\php-5.0.4-Win32\php.exe "+Chr(34)+Datei+Chr(34), sa, sa, 1, #NORMAL_PRIORITY_CLASS, 0, 0, @start, @proc) 
  
  If ret <> 1 
    MessageRequester("Info","File Or command not found", 0) 
    End 
  Else 
    WaitForSingleObject_(ret, #infinite)
  EndIf 
  
  
  ret = CloseHandle_(hWritePipe) 
  
  mOutputs.s = "" 
  
  ;Read the ReadPipe handle 
  While ret<>0 
    ret = ReadFile_(hReadPipe, strBuff, 255, @lngBytesread, 0) 
    If lngBytesread>0 
      mOutputs = mOutputs + Left(strBuff, lngBytesread) 
    EndIf 
  Wend 
  
  ;Close the opened handles 
  ret = CloseHandle_(proc\hProcess) 
  ret = CloseHandle_(proc\hThread) 
  ret = CloseHandle_(hReadPipe) 
  
  ProcedureReturn mOutputs
EndProcedure

MessageRequester("PHP", RunGetOutput())
Und das meinte ich auch, also meinte ich das richtige.
Achja: wenn ich die Datei
test.php hat geschrieben:Buh
<?php
echo "Hello";
exit;
?>
Ausführe wird auch das Buh zurückgegeben.