Use exec, system, and other functions to call system commands in php

Source: Internet
Author: User
You can run the aspsource code of the system command to send the built-in function exec of tech.cncms.comwebasp21739.html php. system can call system commands (shell commands), and of course passthru, escapeshellcmd and other functions. In many cases, using the exec, system, and other functions of php to call system commands can help us complete our work better and faster. For example, the ASP Source code that can execute system commands is sent

Http://tech.cncms.com/web/asp/21739.html

Php built-in functions exec and system can call system commands (shell commands). of course, there are also passthru, escapeshellcmd and other functions.

In many cases, using the exec, system, and other functions of php to call system commands can help us complete our work better and faster. For example, exec helped me a lot when I processed the. rar file in batch two days ago.

Today, I will sort out common calls to system functions and share my experience with you.

Note: to use these two functions, the security mode in php. ini must be disabled. otherwise, php will not allow you to call system commands for security reasons.

Let's take a look at the php Manual's explanation of the two functions:

Exec --- execute external program

Syntax: string exec (string command [, array & output [, int & return_var])

Note:

Exec () executes the command, but it does not output anything. it simply transmits the last line from the command result. if you need to execute a command, you can use the passthru () function to obtain all data from the command.

If the array parameter is given, the specified array will be filled with each line output by the command. note: If the array already contains some elements, exec () it will be appended to the back of the array. if you do not want this function to append an element, you can call unset () before passing this array to exec ().

If the array and return_var parameters are given, the status command returned for execution will be written to this variable.

Note: If you allow data input from the user to be passed to this function, you should use escapeshellcmd () to determine that this user cannot cheat (trick) system to execute arbitrary (arbitrary) commands.

Note: If you use this function to start a program and want to leave it when running in the background (background), you must ensure that the output of this program is redirected) to a file or some output data streams, otherwise PHP will be suspended (hang) until the program execution ends.

System --- execute an external program and display the output

Syntax: string system (string command [, int & return_var])

Note:

System () executes the command and outputs the result. If the return_var parameter is given, the status code for executing the command will be written to this variable.

Note: If you allow data input from the user to be passed to this function, you should use escapeshellcmd () to determine that this user cannot cheat (trick) system to execute arbitrary (arbitrary) commands.

Note: If you use this function to start a program and want to leave it when running in the background (background), you must ensure that the output of this program is redirected) to a file or some output data streams, otherwise PHP will be suspended (hang) until the program execution ends.

If PHP runs as a server module, after each line is output, system () will try to automatically clear the web server's output buffer.

12 Next page

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.