473,224 Members | 1,973 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,224 software developers and data experts.

system() returns the last line of output twice

Hi,

I am running php v 5.0.0 on a redhat box. I have a php script in a
file called p_script_1. I have another small script in file
p_script_2. p_script_1 calles p_script_2 through a system() call. THe
last line of the output from p_script_2 is duplicated. As a test I ran

php -E 'echo system ("ls ");'

<you have to hit ^D after you hit newline>. Anyway, this simple "ls"
is also duplicating the last line of output. Is this a bug or feature?
Oh, just got access to a brand new, up to date RedHat box running php
5.1.4 and it is happening there too.

Jun 23 '06 #1
3 2812
seven.reeds wrote:
Hi,

I am running php v 5.0.0 on a redhat box. I have a php script in a
file called p_script_1. I have another small script in file
p_script_2. p_script_1 calles p_script_2 through a system() call. THe
last line of the output from p_script_2 is duplicated. As a test I ran

php -E 'echo system ("ls ");'

<you have to hit ^D after you hit newline>. Anyway, this simple "ls"
is also duplicating the last line of output. Is this a bug or feature?
Oh, just got access to a brand new, up to date RedHat box running php
5.1.4 and it is happening there too.

ls already emits to STDOUT.

So, you have the output from the 'ls' command and then 'echo' echoing
the last line.

try php -E 'system("ls");' to see the difference.

To see what is really happening, try this:
php -E 'echo -->.system("ls");'

-david-

Jun 23 '06 #2
Doh! thanks David. ... why didn't i try that? sigh

Jun 23 '06 #3
On Fri, 23 Jun 2006 16:05:46 -0400, David Haynes wrote:
php -E 'echo system ("ls ");'

<you have to hit ^D after you hit newline>. Anyway, this simple "ls" is
also duplicating the last line of output. Is this a bug or feature?

ls already emits to STDOUT.

So, you have the output from the 'ls' command and then 'echo' echoing the
last line.


You're *ALMOST* right. ls emits the output to STDOUT, but that is trapped
by PHP when running system. PHP then prints the output of the command
when using the "system" function call and returns the last line (which the
OP then echoes).

But the point is, it's the usage of system that's the problem, not ls.

http://uk.php.net/system

If you really want to run the command and only get the last line, you're
better using exec (which is the same as system, but doesn't print the
output, automatically returns the last line and can optionally return the
full output in an array).

http://uk.php.net/exec

Cheers,
Andy

--
Andy Jeffries MBCS CITP ZCE | gPHPEdit Lead Developer
http://www.gphpedit.org | PHP editor for Gnome 2
http://www.andyjeffries.co.uk | Personal site and photos

Jun 25 '06 #4

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

9
by: Penn Markham | last post by:
Hello all, I am writing a script where I need to use the system() function to call htpasswd. I can do this just fine on the command line...works great (see attached file, test.php). When my...
1
by: Randy Jackson | last post by:
I'm attempting to debug some code that uses the System function. When the function is called, it returns Error 1. Does anyone know what that error might be, or where I can find a list of error...
1
by: Hifni Shahzard | last post by:
Hi, I got a stored procedure, where it returns a value. But if I execute it. It gives an error as "Invalid cast from System.Int32 to System.Byte.". To make clear how do I execute this, below I'm...
5
by: rcolby | last post by:
Evening, Wondering if someone can point me in the right direction, on how I would compare a system.guid with a system.byte. system.guid (pulled from sql server table with a data type of...
8
by: Oski | last post by:
Hello, our server got hacked through a security hole in an open source php chat script. (nothing new so far, ok!) This chat script allowed the user to create a new php script on our server,...
14
by: prasadjoshi124 | last post by:
Hi All, I am writing a small tool which is supposed to fill the filesystem to a specified percent. For, that I need to read how much the file system is full in percent, like the output given...
7
by: ramana | last post by:
I'm wondering if someone could point me to the flaw in the following code that uses the while(!FP.eof()) condition to read the input data. This condition is reading the last data point of the file...
4
by: sebastien.willemijns | last post by:
hello, i use a small PHP script to grab DNS infos at http://80.247.230.136/bug/php/ (php and txt available) the trouble is the last line of every output given by "system" function is always...
30
by: Yorian | last post by:
Hey, Although I've been using classes and object for quite a while now I've never actually programmed proper OO code yet. It ofcourse depends on what you call proper OO code. I have been...
1
isladogs
by: isladogs | last post by:
The next online meeting of the Access Europe User Group will be on Wednesday 6 Dec 2023 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). In this month's session, Mike...
0
by: veera ravala | last post by:
ServiceNow is a powerful cloud-based platform that offers a wide range of services to help organizations manage their workflows, operations, and IT services more efficiently. At its core, ServiceNow...
0
by: mar23 | last post by:
Here's the situation. I have a form called frmDiceInventory with subform called subfrmDice. The subform's control source is linked to a query called qryDiceInventory. I've been trying to pick up the...
0
by: abbasky | last post by:
### Vandf component communication method one: data sharing ​ Vandf components can achieve data exchange through data sharing, state sharing, events, and other methods. Vandf's data exchange method...
2
by: jimatqsi | last post by:
The boss wants the word "CONFIDENTIAL" overlaying certain reports. He wants it large, slanted across the page, on every page, very light gray, outlined letters, not block letters. I thought Word Art...
2
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 7 Feb 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:30 (7.30PM). In this month's session, the creator of the excellent VBE...
0
by: fareedcanada | last post by:
Hello I am trying to split number on their count. suppose i have 121314151617 (12cnt) then number should be split like 12,13,14,15,16,17 and if 11314151617 (11cnt) then should be split like...
1
by: davi5007 | last post by:
Hi, Basically, I am trying to automate a field named TraceabilityNo into a web page from an access form. I've got the serial held in the variable strSearchString. How can I get this into the...
0
by: MeoLessi9 | last post by:
I have VirtualBox installed on Windows 11 and now I would like to install Kali on a virtual machine. However, on the official website, I see two options: "Installer images" and "Virtual machines"....

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.