叁柒設計 三七设计 Three seven design 我的学习与分享
详细信息
来自:关键字:

PHP4手册:函数库及函数(十三) 程式执行功能函式库

  December 21th,2008 22:39:58   Category : PHP+Mysql
 Click (924)

--------------------------------------------------------------------------------
 程式执行功能函式库 
--------------------------------------------------------------------------------
 


本函式库共有 4 个函式
escapeshellcmd: 除去字串中的特殊符号。 
exec: 执行外部程式。 
system: 执行外部程式并显示输出资料。 
passthru: 执行外部程式并不加处理输出资料。 

--------------------------------------------------------------------------------
 函式:escapeshellcmd() 
--------------------------------------------------------------------------------
 


程式执行功能函式库


escapeshellcmd
除去字串中的特殊符号。

语法: string escapeshellcmd(string command);

传回值: 字串

函式种类: 作业系统与环境


 
 
内容说明 


本函式除去了字串中的特殊符号,可以防止使用者耍花招来破解该伺服器系统。可以用本函式搭配

exec() 或是 system() 二个函式,酱子可以减少网路上的使用者恶意的破坏的机会。


 
 
使用范例 


system(EscapeShellCmd($cmdline));
?>


--------------------------------------------------------------------------------
 函式:exec() 
--------------------------------------------------------------------------------
 


程式执行功能函式库


exec
执行外部程式。

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

传回值: 字串

函式种类: 作业系统与环境


 
 
内容说明 


本函式执行输入 command 的外部程式或外部指令。它的传回字串只是外部程式执行后传回的最后一行;

若需要完整的传回字串,可以使用 PassThru() 这个函式。

要是参数 array 存在,command 会将 array 加到参数中执行,若不欲 array 被处理,可以在执行

exec() 之前呼叫 unset()。若是 return_var 跟 array 二个参数都存在,则执行 command 之后的状态

会填入 return_var 中。

值得注意的是若需要处理使用者输入的资料,而又要防止使用者耍花招破解系统,则可以使用

EscapeShellCmd()。


 
 
参考 


system()  PassThru()  popen()  EscapeShellCmd()  
 

--------------------------------------------------------------------------------
 函式:system() 
--------------------------------------------------------------------------------
 


程式执行功能函式库


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

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

传回值: 字串

函式种类: 作业系统与环境


 
 
内容说明 


本函式就像是 C 语中的函式 system(),用来执行指令,并输出结果。若是 return_var 参数存在,则

执行 command 之后的状态会填入 return_var 中。同样值得注意的是若需要处理使用者输入的资料,而

又要防止使用者耍花招破解系统,则可以使用 EscapeShellCmd()。若 PHP 以模组式的执行,本函式会

在每一行输出后自动更新 Web 伺服器的输出缓冲暂存区。若需要完整的传回字串,且不想经过不必要的

其它中间的输出介面,可以使用 PassThru()。


 
 
参考 


PassThru()  popen()  Exec()  
 

--------------------------------------------------------------------------------
 函式:passthru() 
--------------------------------------------------------------------------------
 


程式执行功能函式库


passthru
执行外部程式并不加处理输出资料。

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

传回值: 字串

函式种类: 作业系统与环境


 
 
内容说明 


本函式类似 Exec() 用来执行 command 指令,并输出结果。若是 return_var 参数存在,则执行

command 之后的状态会填入 return_var 中。若输出的资料是二进位的资料,并且需要输出到浏览器中

的话,使用本函式就相当合适了。例如使用 pbmplus 工具来执行指令,并传回二进位的图形资料。可以

先设定传回资料的标头 (header) 为 Content-type: image/gif,然后呼叫 pbmplus 程式处理图形资料

,并将二进位的图形资料直接传回浏览器。


 
 
参考 


PassThru()  Exec()

[ 资讯评论 ]
暂时没有任何评论!
[ 提交评论 ]
请选择表情
  • 昵称:
  • *
  • 验证码:
  • *点击更换验证码
  • 尚能输入个字符
申明:本网站部分分享内容来自网络,如有侵权请及时与我联系,谢谢,另网友评论仅代表个人观点,与本站立场无关,如果在评论中发表违反我国任何法律的,请即时与我们联系(QQ:77132915),我们将立即予以删除. [ 注:提交评论后,通过审核后方能在网站上显示!]