#33790 [Opn]: Exec command trims spaces from output
| From: | marcus at names dot co dot uk | Date: | Mon, 01 Aug 2005 08:35:25 +0000 |
| Subject: | #33790 [Opn]: Exec command trims spaces from output | ||
| References: | 1 | Groups: | php.doc |
| Request: | Send a blank email to phpdoc+get-969369415@lists.php.net to get a copy of this message | ||
ID: 33790
User updated by: marcus at names dot co dot uk
Reported By: marcus at names dot co dot uk
Status: Open
Bug Type: Documentation problem
Operating System: *
PHP Version: 5CVS, 4CVS (2005-07-20)
New Comment:
Hi. Thanks for reponding to this. However, just because
a bug has existed for a long time doesn't mean it's not
a bug. Removing new line characters is fine, but
changing the actual output is just plain wrong!
Previous Comments:
------------------------------------------------------------------------
[2005-07-30 00:49:23] sniper@php.net
The manual should state this fact. There is no bug to fix as these
functions have worked like this since PHP 3.
You can use ob_start()..passthru()..ob_get_contents() as workaround. Or
you can use glob() or scandir() if you only need to get the filenames..
------------------------------------------------------------------------
[2005-07-20 17:13:36] marcus at names dot co dot uk
Description should read, "all white space
is removed FROM THE END OF EACH LINE, rather than just
new line characters".
------------------------------------------------------------------------
[2005-07-20 17:11:10] marcus at names dot co dot uk
Description:
------------
Each line in the output array returned as the second
parameter of exec() is trimmed so that all white space
is removed, rather than just new line characters.
I found this issue while trying to use the following
command to find all files in the current directory whose
name ends in a space:
exec("find . -name '* '",$output_array,$status);
However, in $output_array the filenames have been
trimmed so that they no longer end in a space.
Reproduce code:
---------------
exec("find . -name '* '",$output_array,$status);
Expected result:
----------------
array(
"file1 "
"file2 "
);
Actual result:
--------------
array(
"file1"
"file2"
);
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=33790&edit=1