For Programmers: Free Programming Magazines  


Home > Archive > PHP Documentation > January 2006 > RE: [PHP-DOC] configure.in patch









You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

 

Author RE: [PHP-DOC] configure.in patch
Richard A. Quadling

2006-01-23, 3:55 am

Something to be aware of, which may make everyone rethink the use of
spaces in paths, at least on the Windows platform.

If you are in a PHP script and wish to run a program whose path contains
spaces AND the program has a parameter which contains spaces, then the
format would be something like ...

<?php

exec('"C:\\Some Program\\In A\\Folder With\\Spaces In\\The
Path\\program.exe" -use "C:\\Some Folder\\Containing A\\File
With\\Spaces In"\\The Path.txt"');

?>

The problem with this is that PHP uses CMD.EXE to run the above command
and CMD.EXE has a bug where will only accept ""'s for either the program
OR the parameter and not both.

You can see this by trying this at the normal windows Command Prompt...

C:/> cmd /c "C:\Windows\System32\Notepad.exe"
"c:\windows\system32\autoexec.nt"

The error I get is ...

The filename, directory name, or volume label syntax is incorrect.

If I try ...

C:/> cmd /c C:\Windows\System32\Notepad.exe
c:\windows\system32\autoexec.nt

Then I get Notepad loaded with autoexec.nt in it.

As did ...

C:/> cmd /c C:\Windows\System32\Notepad.exe
"c:\windows\system32\autoexec.nt"

and

C:/> cmd /c "C:\Windows\System32\Notepad.exe"
c:\windows\system32\autoexec.nt

You will notice that neither of the paths contain spaces. Space are not
the bug, the "" are.

So.

Using "" around path names will work as long as ONLY the program OR the
parameter uses it.

Which may be an issue for trying to fix this in the doc building
scripts.

I'm looking for a way of getting the short name of a file and then to
add this to PHP as a windows specific function. I've no idea what sort
of use this would have on a non windows environment, but being able to
use short paths from the known long path could be useful for me at least
and probably scripts where users are not au-fait with long and short
names.

Richard "Sometimes spanner thrower" Quadling.

Sponsored Links







Also available: Server administration forum archive | Web Design forum archive | Software forum archive | Hardware reviews archive

Copyright 2008 codecomments.com