#33790 [Opn->Csd]: Exec command trims spaces from output

From: Date: Thu, 04 Aug 2005 08:54:37 +0000
Subject: #33790 [Opn->Csd]: Exec command trims spaces from output
References: 1  Groups: php.doc 
Request: Send a blank email to phpdoc+get-969369483@lists.php.net to get a copy of this message
ID: 33790 Updated by: vrana@php.net Reported By: marcus at names dot co dot uk -Status: Open +Status: Closed Bug Type: Documentation problem Operating System: * PHP Version: 5CVS, 4CVS (2005-07-20) New Comment: This bug has been fixed in the documentation's XML sources. Since the online and downloadable versions of the documentation need some time to get updated, we would like to ask you to be a bit patient. Thank you for the report, and for helping us make our documentation better. "Trailing whitespace, such as \n, is not included in this array." Previous Comments: ------------------------------------------------------------------------ [2005-08-01 10:35:23] marcus at names dot co dot uk 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! ------------------------------------------------------------------------ [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

« previous php.doc (#969369483) next »