易截截图软件、单文件、免安装、纯绿色、仅160KB

在PHP中执行系统外部命令

 
PHP作为一种服务器端的脚本语言,象编写简单,或者是复杂的动态网页这样的任务,它完全能够胜任。但事情不总是如此,有时为了实现某个功能,必须借助于操作系统的外部程序(或者称之为命令),这样可以做到事半功倍。
  那么,是否可以在PHP脚本中调用外部命令呢?如果能,如何去做呢?有些什么方面的顾虑呢?相信你看了本文后,肯定能够回答这些问题了。
  是否可以?
  答案是肯定的。PHP和其它的程序设计语言一样,完全可以在程序内调用外部命令,并且是很简单的:只要用一个或几个函数即可。
  前提条件
  由于PHP基本是用于WEB程序开发的,所以安全性成了人们考虑的一个重要方面。于是PHP的设计者们给PHP加了一个门:安全模式。如果运行在安全模式下,那么PHP脚本中将受到如下四个方面的限制:
  执行外部命令
  在打开文件时有些限制
  连接MySQL数据库
  基于HTTP的认证
  在安全模式下,只有在特定目录中的外部程序才可以被执行,对其它程序的调用将被拒绝。这个目录可以在php.ini文件中用
safe_mode_exec_dir指令,或在编译PHP是加上--with-exec-dir选项来指定,默认是/usr/local/php
/bin。
  如果你调用一个应该可以输出结果的外部命令(意思是PHP脚本没有错误),得到的却是一片空白,那么很可能你的网管已经把PHP运行在安全模式下了。
  如何做?
  在PHP中调用外部命令,可以用如下三种方法来实现:
  1) 用PHP提供的专门函数
  PHP提供共了3个专门的执行外部命令的函数:system(),exec(),passthru()。
  system()
  原型:string system (string command [, int return_var])
  system()函数很其它语言中的差不多,它执行给定的命令,输出和返回结果。第二个参数是可选的,用来得到命令执行后的状态码。
  例子:
  <?
  system("/usr/local/bin/webalizer/webalizer");
  ?>
  exec()
  原型:string exec (string command [, string array [, int return_var]])
  exec()函数与system()类似,也执行给定的命令,但不输出结果,而是返回结果的最后一行。虽然它只返回命令结果的最后一行,但用第
二个参数array可以得到完整的结果,方法是把结果逐行追加到array的结尾处。所以如果array不是空的,在调用之前最好用unset()最它清
掉。只有指定了第二个参数时,才可以用第三个参数,用来取得命令执行的状态码。
  例子:


相关文档:

Yii PHP Framework实用入门教程(转)

 作者:http://blog.csdn.net/zhoufoxcn/archive/2009/11/05/4769858.aspx
说明:因为最近工作工作关系,需要开发一个在Linux下运行的Web
Application,需要对现在比较流行的一些PHP框架做一个了解和评估,下面的这篇文章是笔者最近学习一个比较新的PHP
Framework的一点经历和操作步骤,因为官方的手册写得比较晦 ......

使用nginx配置多个php fastcgi负载均衡

配置还是非常简单的,充分体现了nginx的强大与配置的简单^^下面是大致的服务器结构图:
应用的最前端是一台nginx服务器,所有静态的内容都由nginx来处理,而将所有php的请求都分摊到下游的若干台运行php fastcgi守护进程的服务器中,这样可以以一种廉价的方案来实现对系统负载的分摊,扩展系统的负载能力。
三台php fastc ......

PHP和Javascript的JSON交互(处理一个二维数组)

 
PHP的JSON类库我使用的是Services_JSON
,没什么特别的优点,也没什么明显的缺点,对付用足矣。
建立文件data.php

<?php
include(
"JSON.php"
);
$data
= array(
    
array(
'name'
=>
mb_convert_encoding
(
'老王'
,
'UTF-8'
,
'GBK'
), ......

PHP中经常用到的几个取整函数

整的函数,今天小小的总结一下!其实很简单,就是几个函数而已~~主要是:ceil,floor,round,intval
ceil -- 进一法取整
说明
float ceil ( float value )
返回不小于 value 的下一个整数,value 如果有小数部分则进一位。ceil() 返回的类型仍然是 float,因为 float 值的范围通常比 integer 要大。
例子 1. ceil ......

PHP连接Oracle并分页访问

使用的是ADODB库,需要有OCI8库.
<?php

//require("adodb5/adodb-exceptions.inc.php");
require("adodb5/adodb.inc.php");
$conn = NewADOConnection("oci8");
$conn->Connect($url, $user, $password, $service_name);
$rs;
try {
$rs = $conn->Execu ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号