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

From: 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

« previous php.doc (#969369415) next »