Kyohere Luke wrote: > Hi, > > Tried all that - it'd work well until one of the arguments also had spaces > and thus had "" or '' encapsulating it - this weirdness is the reason for > this post. > Shawn, even the good old "C:\pathwi~1\gammu.exe" failed :-( Well, you didn't do it properly then. What is the actual path? > > The only way I've gotten it to work was to get rid of the spaces in the > path/to/exe. > > Luke. > > On Thu, Mar 19, 2009 at 8:24 PM, bruce <bedouglas@xxxxxxxxxxxxx> wrote: > >> hey... >> >> if you're going to deal with file/pathnames in windows/linux.. you're going >> to have to encapsulate them with "" or with '' ie double/single quotes... >> >> >> >> -----Original Message----- >> From: Kyohere Luke [mailto:luke@xxxxxxxxxxx] >> Sent: Thursday, March 19, 2009 10:18 AM >> To: Bastien Koert >> Cc: Shawn McKenzie; php-general@xxxxxxxxxxxxx >> Subject: Re: Re: Problems with exec() on windows >> >> >> Eventually settled for getting rid of the spaces in the path. That worked. >> Thanks. >> Luke >> >> On Thu, Mar 19, 2009 at 8:06 PM, Bastien Koert <phpster@xxxxxxxxx> wrote: >> >>> >>> On Thu, Mar 19, 2009 at 12:48 PM, Kyohere Luke <luke@xxxxxxxxxxx> wrote: >>> >>>> Thanks, but I tried this. Doesn't work because the path\to\gammu.exe has >>>> spaces in it.... >>>> Haliphax, thanks for your comments. I tried escapeshellarg() to no end. >>>> >>>> I'm exploring your reply regarding proc_open, but how exactly does >>>> proc_open >>>> separate the arguments from the command? >>>> >>>> Unless i'm mistaken, data written to the process's stdin (for the other >>>> process) is not treated like an argument. >>>> >>>> If I add the arguments to the process name/path? I'm back to square one. >>>> >>>> Luke. >>>> >>>> On Thu, Mar 19, 2009 at 6:25 PM, Shawn McKenzie <nospam@xxxxxxxxxxxxx >>>>> wrote: >>>>> Kyohere Luke wrote: >>>>>> Hi, >>>>>> I'm trying to use exec to call gammu.exe and send sms on windows XP. >>>>>> >>>>>> This works from commandline: >>>>>> >>>>>> C:\path\to\gammu.exe 1 --sendsms EMS 200 -text "test1 test2" >>>>>> >>>>>> But if I run it through php like this: >>>>>> >>>>>> $command = "\"C:\path\to\gammu.exe\" --sendsms EMS 200 -text \"test1 >>>>>> test2\"".; >>>>>> @exec($command, $response, $retval); >>>>>> >>>>>> This always fails, returns 1 and the response is empty. >>>>>> >>>>>> If the last argument is a string with no spaces, and the double >> quotes >>>>> were >>>>>> omitted, it works perfectly. >>>>>> >>>>>> If the double quotes are added around the string with no spaces, it >>>> fails >>>>>> again, which makes me believe that the problem is with the double >>>> quotes. >>>>>> I've used procmon and it shows that when the double quotes are added >>>>> around >>>>>> the last argument, gammu.exe is not even called at all. >>>>>> >>>>>> Problem is that the double quotes are required by gammu to send an >> sms >>>>> with >>>>>> spaces in it. >>>>>> >>>>>> Any ideas? :-( >>>>>> >>>>>> Luke >>>>>> >>>>> Why not try: >>>>> >>>>> $command = 'C:\path\to\gammu.exe --sendsms EMS 200 -text "test1 >> test2"'; >>>>> -- >>>>> Thanks! >>>>> -Shawn >>>>> http://www.spidean.com >>>>> >>>>> -- >>>>> PHP General Mailing List (http://www.php.net/) >>>>> To unsubscribe, visit: http://www.php.net/unsub.php >>>>> >>>>> >>> try double slashes for the path and wrap the pathin quotes if there are >>> spaces in it. Or if possible get rid of the spaces in the folder names >>> >>> -- >>> >>> Bastien >>> >>> Cat, the other other white meat >>> >> > -- Thanks! -Shawn http://www.spidean.com -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php