Table of Contents
How to start Windows applications, execute bat batch processing, and execute cmd commands in PHP (detailed explanation of exec and system functions), detailed explanation of exec function
How to execute cmd command in c++ without system function
How to execute cmd command or bat processing in php - Technical Q&A
Home Backend Development PHP Tutorial How to start Windows applications, execute bat batch processing, and execute cmd commands in PHP (detailed explanation of exec and system functions), detailed explanation of exec function_PHP tutorial

How to start Windows applications, execute bat batch processing, and execute cmd commands in PHP (detailed explanation of exec and system functions), detailed explanation of exec function_PHP tutorial

Jul 13, 2016 am 10:16 AM
bat batch processing cmd command exec php system windows app

How to start Windows applications, execute bat batch processing, and execute cmd commands in PHP (detailed explanation of exec and system functions), detailed explanation of exec function

Exec or system can call cmd commands

Go directly to the code:

Copy code The code is as follows:

/**Open the windows calculator*/
exec('start C:WindowsSystem32calc.exe');

/**After php generates the windows batch file, then execute the batch file*/
$filename = 't.bat';
$somecontent = 'C:
';
$somecontent .= 'cd "C:/Program Files/MySQL-Front"';
$somecontent .= '
start MySQL-Front.exe';
if (!$handle = fopen($filename, 'w')) {
echo "Cannot open file $filename";
exit;
}

/**First we need to make sure the file exists and is writable*/
if (is_writable($filename)) {

/**That is where $somecontent will be written when we use fwrite()
Write $somecontent to the file we opened.*/
if (fwrite($handle, $somecontent) === FALSE) {
echo "Cannot write to file $filename";
exit;
}
echo "Successfully written $somecontent to file $filename";
fclose($handle);
} else {
echo "File $filename is not writable";
}
exec($filename);
?>

There is a remaining problem, which is the exec() call. PHP will continue to execute until you close the started application. This will cause the PHP execution to time out. I don’t know how to solve this problem. I hope experts will pass by here and leave answers! I will solve it in the future and will update it here!

The following comes from information

================================================== ==

PHP’s built-in functions exec and system can call system commands (shell commands), and of course there are functions such as passthru and escapeshellcmd.

In many cases, using PHP's exec, system and other functions to call system commands can help us complete our work better and faster.

Note: If you want to use these two functions, the safe mode in php.ini must be turned off, otherwise php will not allow calling system commands for security reasons.

First take a look at the explanation of these two functions in the PHP manual:

exec --- Execute external program

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

Description:
exec() executes the given command command, but it does not output anything. It simply returns the last line from the result of the command. If you need to execute a command and get all the information from the command, you can use it. passthru() function.
If the argument array is given, the specified array will be filled with each line output by the command. Note: If the array already contains some elements, exec() will append it to the end of the array. If you don't want to To append elements to this function, you can call unset() before passing the array to exec().
If the parameters array and return_var are given, the status command returned by the execution will be written to this variable.

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

Note: If you use this function to start a program and want to leave it while executing in the background, you must make sure that the output of the program is redirected to a file or some output data. stream, otherwise PHP will hang until the program execution ends.

system --- Execute external programs and display output

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

Description:

system() executes the given command command and outputs the result. If the parameter return_var is given, the status code of the executed command will be written to this variable.

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

Note: If you use this function to start a program and want to leave it while executing in the background, you must make sure that the output of the program is redirected to a file or some output data. stream, otherwise PHP will hang until the program execution ends.
If PHP is running as a server module, system() will try to automatically clear the web server's output buffer after each line of output.

Returns the last line of the command if successful, false if failed.

If you need to execute a command and get all the data from the command, you can use the passthru() function.

These two are used to call system shell commands,

Differences:

Exec can return all execution results to the $output function (array). $status is the execution status. 0 means success and 1 means failure

systerm does not need to provide the $output function. It returns the result directly. Similarly, $return_var is the execution status code. 0 is success and 1 is failure

exec example:

Copy code The code is as follows:

$a = exec("dir", $out, $status);
print_r($a);
print_r($out);
print_r($status);
?>

system example:
Copy code The code is as follows:

$a = system("dir", $status);
print_r($a);
print_r($status);
?>

The above instructions may seem a bit confusing, but you will understand after running two examples!

【system】

Copy code The code is as follows:

set_time_limit(0);
define('ROOT_PATH', dirname(__FILE__));

include ROOT_PATH . '/include/global.func.php';

$cmdTest = 'ps -ef | grep magent';

$lastLine = system($cmdTest, $retVal);

write_log('$lastLine');
write_log($lastLine);

write_log('$retVal');
write_log($retVal);
?>

Output:

Copy code The code is as follows:

++++++++++++++++++++++++++++++++++++++++
2014-10-15 16:28:52
$lastLine
++++++++++++++++++++++++++++++++++++++++
2014-10-15 16:28:52
root 5375 5373 0 16:28 pts/1 00:00:00 grep magent
++++++++++++++++++++++++++++++++++++++++
2014-10-15 16:28:52
$retVal
++++++++++++++++++++++++++++++++++++++++
2014-10-15 16:28:52
0

[exec]

Copy code The code is as follows:

set_time_limit(0);
define('ROOT_PATH', dirname(__FILE__));

include ROOT_PATH . '/include/global.func.php';

$cmdTest = 'ps -ef | grep magent';

$lastLine = exec($cmdTest, $output, $retVal);

write_log('$lastLine');
write_log($lastLine);

write_log('$output');
write_log($output);

write_log('$retVal');
write_log($retVal);
?>

Output:

Copy code The code is as follows:

++++++++++++++++++++++++++++++++++++++++
2014-10-15 16:25:00
$lastLine
++++++++++++++++++++++++++++++++++++++++
2014-10-15 16:25:00
root 5360 5358 0 16:25 pts/1 00:00:00 grep magent
++++++++++++++++++++++++++++++++++++++++
2014-10-15 16:25:00
$output
++++++++++++++++++++++++++++++++++++++++
2014-10-15 16:25:00
Array
(
[0] => root 2838 1 0 15:39 ? 00:00:00 magent -u root -n 51200 -l 192.168.137.100 -p 12001 -s 192.168.137.100:11211 -b 192.1 68.137.100:11212
[1] => root 5358 5356 0 16:25 pts/1 00:00:00 sh -c ps -ef | grep magent
[2] => root 5360 5358 0 16:25 pts/1 00:00:00 grep magent
)

++++++++++++++++++++++++++++++++++++++++
2014-10-15 16:25:00
$retVal
++++++++++++++++++++++++++++++++++++++++
2014-10-15 16:25:00
0

Conclusion:

If you need detailed output results, use exec()! I usually use exec() to execute external commands!

Reference:

http://php.net/manual/zh/function.system.php
http://php.net/manual/zh/function.exec.php

How to execute cmd command in c++ without system function

Use Notepad to write down your command and save it as a batch file, (suffix .bat).
Use winexec function to run this batch process

How to execute cmd command or bat processing in php - Technical Q&A

The function uses these two exec();system(); If it doesn’t work, it may be that you wrote the command wrong. $str =null;exec(\"dir c:\",$str);Usage as above;

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/897017.htmlTechArticlePHP methods to start windows applications, execute bat batch processing, and execute cmd commands (detailed explanation of exec and system functions), Detailed explanation of exec function. Either exec or system can call cmd command directly...
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Roblox: Bubble Gum Simulator Infinity - How To Get And Use Royal Keys
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Fusion System, Explained
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers Of The Witch Tree - How To Unlock The Grappling Hook
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Hot Topics

Java Tutorial
1673
14
PHP Tutorial
1278
29
C# Tutorial
1257
24
What happens if session_start() is called multiple times? What happens if session_start() is called multiple times? Apr 25, 2025 am 12:06 AM

Multiple calls to session_start() will result in warning messages and possible data overwrites. 1) PHP will issue a warning, prompting that the session has been started. 2) It may cause unexpected overwriting of session data. 3) Use session_status() to check the session status to avoid repeated calls.

Composer: Aiding PHP Development Through AI Composer: Aiding PHP Development Through AI Apr 29, 2025 am 12:27 AM

AI can help optimize the use of Composer. Specific methods include: 1. Dependency management optimization: AI analyzes dependencies, recommends the best version combination, and reduces conflicts. 2. Automated code generation: AI generates composer.json files that conform to best practices. 3. Improve code quality: AI detects potential problems, provides optimization suggestions, and improves code quality. These methods are implemented through machine learning and natural language processing technologies to help developers improve efficiency and code quality.

What is the significance of the session_start() function? What is the significance of the session_start() function? May 03, 2025 am 12:18 AM

session_start()iscrucialinPHPformanagingusersessions.1)Itinitiatesanewsessionifnoneexists,2)resumesanexistingsession,and3)setsasessioncookieforcontinuityacrossrequests,enablingapplicationslikeuserauthenticationandpersonalizedcontent.

How to handle high DPI display in C? How to handle high DPI display in C? Apr 28, 2025 pm 09:57 PM

Handling high DPI display in C can be achieved through the following steps: 1) Understand DPI and scaling, use the operating system API to obtain DPI information and adjust the graphics output; 2) Handle cross-platform compatibility, use cross-platform graphics libraries such as SDL or Qt; 3) Perform performance optimization, improve performance through cache, hardware acceleration, and dynamic adjustment of the details level; 4) Solve common problems, such as blurred text and interface elements are too small, and solve by correctly applying DPI scaling.

H5: Key Improvements in HTML5 H5: Key Improvements in HTML5 Apr 28, 2025 am 12:26 AM

HTML5 brings five key improvements: 1. Semantic tags improve code clarity and SEO effects; 2. Multimedia support simplifies video and audio embedding; 3. Form enhancement simplifies verification; 4. Offline and local storage improves user experience; 5. Canvas and graphics functions enhance the visualization of web pages.

How to use MySQL functions for data processing and calculation How to use MySQL functions for data processing and calculation Apr 29, 2025 pm 04:21 PM

MySQL functions can be used for data processing and calculation. 1. Basic usage includes string processing, date calculation and mathematical operations. 2. Advanced usage involves combining multiple functions to implement complex operations. 3. Performance optimization requires avoiding the use of functions in the WHERE clause and using GROUPBY and temporary tables.

How to uninstall MySQL and clean residual files How to uninstall MySQL and clean residual files Apr 29, 2025 pm 04:03 PM

To safely and thoroughly uninstall MySQL and clean all residual files, follow the following steps: 1. Stop MySQL service; 2. Uninstall MySQL packages; 3. Clean configuration files and data directories; 4. Verify that the uninstallation is thorough.

What are the cross-platform development environments in C? What are the cross-platform development environments in C? Apr 28, 2025 pm 09:24 PM

Cross-platform development in C is recommended to use VisualStudioCode, CLion and QtCreator. 1. VisualStudioCode is lightweight and flexible, suitable for multi-platform development, but the initial configuration is more complicated. 2. CLion integrates CMake, suitable for cross-platform projects, but licenses are expensive. 3.QtCreator supports cross-platform development, with built-in Qt library, but the learning curve is steep.

See all articles