PHP4新函數集錦
發表時間:2023-08-17 來源:明輝站整理相關軟件相關文章人氣:
[摘要]一、輸出信息控制函數 這些函數可以讓你控制你的腳本輸出的內容.可以用于許多不同的情況,特別是在你的腳本已經輸出信息后需要發送文件頭新的情況. 輸出控制函數不對使用 header() 或 s...
一、輸出信息控制函數
這些函數可以讓你控制你的腳本輸出的內容.可以用于許多不同的情況,特別是在你的腳本已經輸出信息后需要發送文件頭新的情況. 輸出控制函數不對使用 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)) {
echo "Value: $value<br>
";
}
foreach ($arr as $value) {
echo "Value: $value<br>
";
}
?>
下面范例的功能也都是相同的 :
<?php
reset ($arr);
while (list($key, $value) = each ($arr)) {
echo "Key: $key; Value: $value<br>
";
}
foreach ($arr as $key => $value) {
echo "Key: $key; Value: $value<br>
";
}
?>
以下的范例將說明 foreach的用法 :
<?php
/* foreach example 1: value only */
$a = array (1, 2, 3, 17);
foreach ($a as $v) {
print "Current value of $a: $v.
";
}
/* foreach example 2: key and value */
$a = array (
"one" => 1,
"two" => 2,
"three" => 3,
"seventeen" => 17
);
foreach($a as $k => $v) {
print "$a[$k] => $v.
";
}
?>