Moi!
Minun pitäisi suorittaa komento exec()-funktiolla. Ongelmana on, että komento sisältää välilyöntejä.
Apache error.log kirjoitti:
'C:\Program' is not recognized as an internal or external command,
operable program or batch file.
Miten tämä korjataan?
https://www.php.net/manual/en/function.
https://www.php.net/manual/en/function.
Käytä lainausmerkkejä ohjelman nimen ympärillä.
Eivät toimi.
Komento on muotoa
C:\hakemisto\johonkin\ohjelmaan.exe C:\Jokupolku\jokutiedosto.html /jotain(jotain,jotain) D:\Jokupolku\jokutiedosto.html
Minulla on muuttuja $komento, jossa on vastaava komento. Olen escapettanut $komento-muuttujassa \-viivat.
Muokkaus. Kun laitoin hipsut ('), sen sisään komennon ja käytin lainausmerkkejä polkujen ympärillä, se rupesi toimimaan.
'"C:\\hakemisto\\johonkin\\ohjelmaan.exe" "C:\\Jokupolku\\jokutiedosto.html" /jotain(jotain,jotain) "D:\\Jokupolku\\jokutiedosto.html"'
Jos siellä on välilöynti parametrissä, mukaanlukien ohjelman polku ja nimi, niin sitten tarvitset lainausmerkin ympärille, koska muuten ensimmäinen osa on yksi parametri ja seuraava toinen. Välilyöntiä kun käytetään erottamaan parametrit toisistaan. Lainausmerkit lisäämällä kerrotaan, että välilyönnit kuuluvat mukaan.
Eli:
'ParametriYksi ParametriKaksi ParametriKolme'
'"Parametri yksi" "Parametri kaksi" "Parametri kolme"'
Aihe on jo aika vanha, joten et voi enää vastata siihen.