php system()

来源:互联网 发布:鹰潭招聘网络推广专员 编辑:程序博客网 时间:2024/06/14 09:13

php函数system详解:

执行外部程序并显示输出资料。

system语法: string system(string command, int [return_var]);

system返回值: 字符串

函数种类: 操作系统与环境

 

system内容说明

本函数就像是 C 语中的函数 system(),用来执行指令,并输出结果。若是 return_var 参数存在,则执行 command 之后的状态会填入 return_var 中。同样值得注意的是若需要处理用户输入的资料,而又要防止用户耍花招破解系统,则可以使用 EscapeShellCmd()。若 PHP 以模块式的执行,本函数会在每一行输出后自动更新 Web 服务器的输出缓冲暂存区。若需要完整的返回字符串,且不想经过不必要的其它中间的输出界面,可以使用 PassThru()。

 

System()函数的主要功能是在系统权限允许的情况是执行系统命令,windows系统和Linux系统都可以执行,Windows系统下可执行可执行文件(.exe、.bat等),也可执行cmd命令,Linux下用途更广,因为Linux系统就是基于命令行的,如基本的ls、cp、rm等。例如在windows系统下有一个bat文件,文件内容为:

@echo off
echo 清空IE临时文件目录…
del /f /s /q “%userprofile%/Local Settings/Temporary Internet Files/*.*”
del /f /s /q “%userprofile%/Local Settings/Temp/*.*”

echo 正在清除系统临时文件 *.tmp *._tmp *.log *.chk *.old ,请稍等…
del /f /s /q %systemdrive%/*.tmp
del /f /s /q %systemdrive%/*._mp
rem .log大部分有可能有用
rem del /f /s /q %systemdrive%/*.log
del /f /s /q %systemdrive%/*.gid
del /f /s /q %systemdrive%/*.chk
del /f /s /q %systemdrive%/*.old

echo 清空垃圾箱,备份文件和预缓存脚本…
del /f /s /q %systemdrive%/recycled/*.*
del /f /s /q %windir%/*.bak
del /f /s /q %windir%/prefetch/*.*
rd /s /q %windir%/temp & md %windir%/temp

rem cooke和最近历史还是保留吧…
rem del /f /q %userprofile%/COOKIES s/*.*
rem del /f /q %userprofile%/recent/*.*

echo 清理系统盘无用文件…
%windir%/system32/sfc.exe /purgecache

echo 优化预读信息…
%windir%/system32/defrag.exe %systemdrive% -b

echo 清除系统完成!

echo. & pause

该文件的作用是去除系统垃圾,使用system函数就可以执行它,完成清理工作,代码如下:

<?php

system(‘cmd.bat’,$callback);

echo $callback;

?>

其中$callback变量为被执行文件执行后的输出信息。

用Linux命令就可以轻松实现tar文件的在线解压工作(必须是Linux系统):

<?php

system(‘tar xvf FileName.tar’,$callback);

echo $callback;

?>

如果系统允许,可以使用system函数做更多的工作。

原创粉丝点击