2009年6月1日 星期一

php 和 asp 對等的語法

php和asp對象的等價關係

1)寫HTML
asp: Response.Write(str)
php: print $str;
echo $str;
print_r $debug_str;

2) Form, Cookie and QueryString變量
asp: 可以用Request object.
php: 這些變量是自動提供的作為一個全局變量,如果在PHP.ini文件中這樣配置的話:

variables_order="EGPCS"
register_globals=On

為了安全,我將不允許register_globals (設置它為OFF). 然後變量僅僅在數組中使用:
$HTTP_POST_VARS, $HTTP_COOKIE_VARS and $HTTP_GET_VARS.

3)Redirecting to another location
asp: Response.Redirect(url)
php: Header("Location: $url");

4) Cookie 處理
asp: Response.Cookies(cookiename) = newval
avar = Request.Cookies(cookiename)

php: setcookie($cookiename, $newval);
$avar = $HTTP_COOKIE_VARS[$cookiename];

5)Application變量
asp: Application(appvarname)
php: 不提供,可以用數據庫模擬

6)Session 變量
asp: Session(sessionname) = newval
avar = Session(sessionname)

php: 在PHP4或以後的版本中, 我們確定變量作為一個session在
session_register($sessionname), 然後,我們調用session_start( )
在開始使用的.php 頁恢復session變量值.

例如:

session_register("avar");
$avar = 99;
session_start();
print $avar;

7)Form 變量
asp: Request.Form("formvar")
Request.QueryString("getvar")

php: $HTTP_POST_VARS["formvar"];
$HTTP_GET_VARS["getvar"];

GET and POST 變量可以交替的自動地修改到PHP變量,這是不安全地方法。

8)Server 變量
asp: 這有許多服務器變量,可以看ASP文檔. 一個例子:

Request.ServerVariables("HTTP_HOST

php: 作為ISAPI模式, 服務器變量存儲在$HTTP_SERVER_VARS數組裡。
作為CGI, 它們存貯在環境變量裡, 用$HTTP_ENV_VARS數組或getenv( )
可以得到。一個例子:

$HTTP_SERVER_VARS["HTTP_HOST"] using ISAPI module

$HTTP_ENV_VARS["HTTP_HOST"] using CGI module

9)數據庫訪問
asp: 一般用ado技術
php: ADO可以使用adodb庫來模擬,這個庫等價與ado.
限制是,目前支持只讀性光標和前滾光標.
(註解)也可以直接調用com庫,看我的文章。

10)Buffering
asp: Response.Buffer = true
Response.Write("abc");
Response.Flush()
php: ob_start();
print "abc";
ob_end_flush();

11) Script Timeout
asp: 時間級是秒級:
Server.ScriptTimeout(240)

php: 時間級是秒級:
set_time_limit(240);

網誌存檔