這些函式可以讓你控制你的指令碼輸出的內容.可以用於許多不同的情況,特別是在你的指令碼已經輸出資訊後需要傳送檔案頭新的情況. 輸出控制函式不對使用 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...