PHP4新函式集錦

2022-04-09 04:29:48 字數 2734 閱讀 4248

這些函式可以讓你控制你的指令碼輸出的內容.可以用於許多不同的情況,特別是在你的指令碼已經輸出資訊後需要傳送檔案頭新的情況. 輸出控制函式不對使用 header() 或 setcookie() 傳送的檔案頭資訊產生影響,只對那些類似於 echo() 和 php **的資料塊有作用.

例 1. 控制輸出

<?php

ob_start();

echo "hellon";

setcookie ("cookiename", "cookiedata");

ob_end_flush();

?>

在上面的例子中,使用 echo() 的輸出內容將會儲存在輸出緩衝區中,直到呼叫了 ob_end_flush(). 這樣做有意義的地方是,呼叫 setcookie() 的內容被成功的儲存在 cookie 裡面而不會引起錯誤. (正常情況下,你不可以在有資料已經傳送後再傳送檔案頭資訊到使用者瀏覽器.)

相關函式 header() and setcookie().

韓數列表

flush — 重新整理輸出緩衝區

儲存在輸出緩衝區的內容會被傳送到瀏覽器

ob_start — 開啟輸出緩衝區

這樣所有的輸出資訊不在直接傳送到瀏覽器,而是儲存在輸出緩衝區裡面

ob_get_contents — 返回輸出緩衝區的內容

如果你想以後處理輸出的內容,可以呼叫這個函式保留乙個備份

ob_get_length — 返回輸出緩衝區的內容長度

ob_end_flush — 結束(傳送)輸出緩衝區的內容,關閉輸出緩衝區

ob_end_clean — 刪除(放棄)輸出緩衝區的內容,關閉輸出緩衝區

如果你的程式發現輸出內容有問題,可以放棄所有輸出內容,可以防止洩漏某些秘密資訊

ob_implicit_flush — 開啟或關閉直接重新整理

開啟後,每個指令碼輸出都直接傳送到瀏覽器,不再需要呼叫 flush()

二、取得當前目錄

這是 php4 的新的目錄函式!

string getcwd(void)

返回為當前指令碼路徑的字串!

三、 解決指令碼超時

在 php 的配置/資訊裡面有乙個設定指令碼執行時間的函式,具體情況如下:

set_time_limit

配置該頁最久執行時間。

語法: void set_time_limit(int seconds);

返回值: 無

函式種類: php 系統功能

內容說明

本函式用來配置該頁最久執行時間。預設值是 30 秒,在 php.ini 中的 max_execution_time 變數配置,若配置為 0 則不限定最久時間。當執行到該函式時,才開始計算。例如,若預設是 30 秒,而在執行到該函式前已執行了 25 秒,而用本函式改為 20 秒,則該頁面最長執行時間為 45 秒。

使用例項:

我的文章搜尋函式由於文章數目的增加,經常會產生超時錯誤,我把指令碼執行時間改為200秒後情況大大緩解!

set_time_limit(200);

?>

四、 陣列遍歷

· foreach

在 php4中,新增了乙個迴圈語句 foreach,它很像是 perl和其它的語言,你可以給它乙個陣列,讓它來取出陣列的值。它有下列這二個語法,第二個語法是較次要的,但是可用來作為第乙個語法的延伸。

foreach(array_expression as $value) statement

foreach(array_expression as $key => $value) statement

第乙個形式的迴圈,它會在每個迴圈上,將目前元素的值分配給 $value,並且向後移動陣列的?炔恐剛耄??栽諳亂桓鮁?返氖焙潁?憔突崢吹較亂桓鱸?亓恕

第二個形式的迴圈和第乙個是相同的,不同的是它會在每個迴圈將目前元素的索引值分配給變數 $key。

注意 : 當 foreach第一次開始執行的時候,它會把陣列的?炔恐剛脛匭律瓚ǖ秸罅械牡諞桓鱸?兀?饉際撬擔?謔褂 foreach之前,你不必再去呼叫 reset( )。

注意 : foreach的功能是複製,而不是陣列它本身,因此並不會改變陣列指標

下面範例的功能都是相同的 :

<?php

reset ($arr);

while (list(, $value) = each ($arr))

foreach ($arr as $value)

?>

下面範例的功能也都是相同的 :

<?php

reset ($arr);

while (list($key, $value) = each ($arr))

foreach ($arr as $key => $value)

?>

以下的範例將說明 foreach的用法 :

<?php

/* foreach example 1: value only */

$a = array (1, 2, 3, 17);

foreach ($a as $v)

/* foreach example 2: key and value */

$a = array (

"one" => 1,

"two" => 2,

"three" => 3,

"seventeen" => 17

); foreach($a as $k => $v)

Web設計之PHP 4函式

這周剛上完web課,老師這節課講php中的函式,自己稍微做了梳理,這次簡單的總結希望了以讓自己加深影響的同時幫助更多人學習 php中的函式和其他函式一樣,有系統的自帶函式也有自定義的函式,系統自帶函式較多,大概有上萬個,後序還會詳解,但是並不是讓大家掌握所有,也沒有必要掌握全部,作為乙個學計算機的學...

php 4 魔術常量

line 檔案中的當前行號。echo 這是第 line 行 這是第 9 行 file 檔案的完整路徑和檔名。如果用在被包含檔案中,則返回被包含的檔名。自 php 4.0.2 起,file 總是包含乙個絕對路徑 如果是符號連線,則是解析後的絕對路徑 而在此之前的版本有時會包含乙個相對路徑。echo 該...

PHP4使用者手冊 函式 CURL

本頁面推薦在1024x768分辯率下瀏覽 php 支援libcurl 允許你用不同的協議連線和溝通不同的伺服器 libcurl當前支援http,https,ftp,gopher,telnet,dict,file,和ldap 協議。libcurl同樣支援https證書授權,http post,http...