Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[PHP] Bestand uitvoeren dat input verwacht

Pagina: 1
Acties:

Onderwerpen


  • _Johannn_
  • Registratie: Februari 2004
  • Laatst online: 19-11 15:24
Misschien een simpel probleem maar ik kom er niet uit.

Ik heb een bat bestand dat certificaten genereerd voor ons, dit bat bestand vraagt een aantal regels als input en na afloop wordt het openvpn certificaat gegenereerd.

Nu ben ik bezig om een een web portaltje te maken waar je makkelijk zelf een certificaat kan genereren en ook een overzicht krijg van welke machines met certificaat online zijn etc.

Nu wil ik dit dat bat bestand uitvoeren en op het moment dat hij om input vraagt hier automatisch waardes laten invullen.

Als ik zoiets probeer met
Voorbeeld van testbat.bat
code:
1
2
3
set INPUT=
set /P INPUT=Type input: %=%
echo Your input was: %INPUT%


Als ik dat in PHP het volgende zoou doen:
code:
1
system('testbat.bat', $retval);

Dan wacht hij niet op de input maar gaat hij gewoon door.

Nu vroeg ik me af of zoiets eigenlijk wel mogelijk was in PHP. Met mijn google skills kom ik eigenlijk ook niet verder maar dat is dan ook meer omdat ik niet precies weet op welke tremen zoeken. PHP automate bat file input, is het in ieder geval niet :)

Een andere mogelijkheid zou kunnen zijn dat ik zelf een bat bestand maak en daar met php een aantal argumenten aan toevoeg. Vervolgens moet dat bat bestand dan het certificaat genereer bestand aanroepen en bij de verwachtte user input deze variabelen invullen. Nu heb ik geen echte kennis van het maken van bat bestanden en zou dus in eerste instatie ook niet weten hoe ik dit aan zou moeten pakken dus gaat mijn voorkeur uit naar een volledige PHP oplossing.

Ter info, alles draait op een windows 2008 r2 server.

  • Rmg
  • Registratie: November 2003
  • Laatst online: 15:57

Rmg

De makkelijkste manier is het batch bestand gewoon omkatten dat het commandline parameters krijgt ipv user input, parameters zijn gewoon op te vragen met %1, %2 %3, etc en als je kan phpen moet je daar ook wel wijs uit kunnen worden ;)

  • KennieNL
  • Registratie: Mei 2007
  • Laatst online: 11:36
proc_open zou dat moeten kunnen geloof ik :)

  • _Johannn_
  • Registratie: Februari 2004
  • Laatst online: 19-11 15:24
Bedankt voor de reacties, het omkatten is eigenlijk niet iets wat ik wil doen maar mocht proc_open niet werken dan zal dat alsnog moeten.

Ik ga straks een knutselen :)

  • CH4OS
  • Registratie: April 2002
  • Niet online

CH4OS

It's a kind of magic

Ik denk dat je je dan beter kan verdiepen in de encryptie van een OpenVPN certificaat en vervolgens zelf een functie of class schrijven die dat voor je doet. Daarmee minimaliseer je de systeemeisen van je script en kan je ook makkelijker migreren naar een andere webserver in de toekomst, Linux kan bijvoorbeeld geen .bat files interpreteren.